|
On 02/01/2015 14:36, Luiz Henrique de Figueiredo wrote:
Lua 5.3.0 (rc3) is now available for testing at http://www.lua.org/work/lua-5.3.0-rc3.tar.gz
[snip]
I find this release quite slow. I ran a bunch of test suites used to unit-test my internal "patchwork" library and it took about 3 minutes to complete, whereas with Lua 5.2 and 5.1 it took a couple of seconds (some of those are stress-tests for my non-optimized math modules, so they probably generate lots of garbage, but the difference from previous versions is scaring).All feedback welcome. Thanks. --lhf
Does the introduction of integers slow the interpreter so much (it is the only architectural change I know of that could possibly affect so much the tests)? Since I got some compilation warnings (see another subthread) I tried to recompile with different TDM-GCC versions, but to no avail: lua 5.3 is a crawl compared to the previous versions.
The warnings I got from the compilation are all related to I/O functions, so it doesn't seem to be the cause, unless the minimal I/O performed by the tests counts (a few logging messages and sort of progress bars with "+" signs).
I also tried to execute the tests on my older WinXP-SP3 32bit machine, fearing some interaction between the Windows WOW subsystem[1] and the new lua executable, but the run was slow also on this machine.
I also recompiled (with different versions of TDM-GCC) under the old WinXP machine, but with the same results.
I begin to fear that the new 64bit integers could slow down 32 bit code (I haven't installed a 64bit compiler, since I still use 32 bit machines at work and I need 32 bit executables). Note that my tests and modules were written for Lua 5.1(mainly)/5.2, so they are not aware of the float/integer dualism, but I expected that the new release would not impact older code so much, performancewise.
BTW, during the test-run ProcessExplorer (a task manager) showed that the core on which lua ran was fully busy (on both systems), so it seems that Lua was doing something heavy and not waiting for some lagging I/O.
Can anyone confirm such behaviour? Did anyone do some performance testing on Windows with 5.3 compared with older versions?
Thanks! -- Lorenzo[1] (Windows-On-Windows) the subsystem that allows 32 bit executables to run on a 64 bit machine with a 64bit Windows OS.