[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Ravi performance update
- From: Dibyendu Majumdar <mobile@...>
- Date: Thu, 16 Jul 2015 00:24:35 +0100
On 15 July 2015 at 23:44, Paige DePol <email@example.com> wrote:
> Dibyendu Majumdar <firstname.lastname@example.org> wrote:
>> Following points are worth bearing in mind when looking at above
>> 1. For Ravi the timings above do not include the LLVM compilation time.
>> But LuaJIT timings include the JIT compilation times, so they show
>> incredible performance.
> In regards to the benchmarks, would it not be prudent to show the full time
> for Ravi, including compilation, in order to better compare the performance
> to LuaJIT? Otherwise, you've just provided some numbers without any actual
> relation to each other as we have no idea how long compilation is taking.
> Perhaps, if possible, show the full compilation and execution time for Ravi
> and LuaJIT, and then just the execution times for both? This would be an
> interesting benchmark I think as it would show the overhead for compilation
> for both languages!
I can tell you now that LLVM compilation is much slower than LuaJIT!
But for me this is not an issue as such as I intend to compile a
library of functions - and then use the library again and again, so
the compilation cost is one time only.
To be fair to LuaJIT I should try to remove the compilation time in
the comparisons - but I suspect the JIT compiler is so fast that it
will hardly make any difference. I will look into this.
Re LLVM compilation times - to give you some idea - the whole Lua test
suite (user mode) runs in less than 2 seconds in interpreter mode, but
when forced to compile every function in LLVM it takes nearly 2
minutes to run. So compiling functions willy nilly is not a good idea
when using LLVM.
I am also testing libgccjit - this is even slower than LLVM to
compile, as it creates temporary files. But the developer of libgccjit
is working on improving this (and eliminating the temporary files).