lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On 15 July 2015 at 23:44, Paige DePol <> wrote:
> Dibyendu Majumdar <> wrote:
>> Following points are worth bearing in mind when looking at above
>> benchmarks.
>> 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).