CTFE Status

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Tue Dec 13 00:11:55 PST 2016


On Tuesday, 13 December 2016 at 07:53:56 UTC, Jacob Carlborg 
wrote:
> On 2016-12-13 08:21, Stefan Koch wrote:
>> Hi Guys, I just fixed the LLVM-Backend a little.
>> It's about 4000 times slower to start up then the interpreter.
>> And has 1000 microseconds overhead per evaluation.
>>
>> If you don't want to run a raytracer at compiletime I doubt 
>> that the
>> llvm backend is the right one for you.
>
> IIRC, the Higgs JavaScript JIT compiler doesn't always use JIT 
> because sometimes it faster to interpret because JIT has some 
> overhead. Not sure if this is still the case and how it chooses 
> when to interpret or when to JIT.

Higgs IR is high-level which makes a translation step to a lower 
ir and then x86 unavoidable.

My architecture allows to emit assembly directly (while 
everything is still hot and steamy in the cache).
Therefore JIT will _ALWAYS_ be faster then interpretation.
Given that a executeble-page is already allocated.
Since getting the page from the OS can take a long time.


More information about the Digitalmars-d mailing list