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.