[luatex] slower texlua at LuaTeX 1.0.4 (TL 2017) ?
jfbu
jfbu at free.fr
Fri Jun 2 12:10:05 CEST 2017
Hi,
a sample lua script runs twice slower with texlua of TL2017
than with the texlua from TL2016 and bare lua 5.3.3 I also
have on my mac os x 10.9.5
is this expected ?
$ time texlua collatz.lua 1 1000000
837799
real 0m39.053s
user 0m39.034s
sys 0m0.017s
$ time lua collatz.lua 1 1000000
837799
real 0m17.004s
user 0m16.991s
sys 0m0.006s
(actually I had gotten about 20s initially )
and:
$ time /usr/local/texlive/2016/bin/x86_64-darwin/texlua collatz.lua 1 1000000
837799
real 0m21.292s
user 0m21.271s
sys 0m0.012s
Thus the TL2017 texlua executes about 2x slower than the TL2016 one
I am on mac os x 10.9.5,
$ cd `dirname $(which texlua)` && pwd -P
/usr/local/texlive/2017/bin/x86_64-darwinlegacy
$ lua -v
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
I also have a
$ /usr/local/bin/lua -v
Lua 5.2.3 Copyright (C) 1994-2013 Lua.org, PUC-Rio
$ which -a lua
/sw/bin/lua
/usr/local/bin/lua
but I guess this is irrelevant to texlua.
This originates in this answer https://tex.stackexchange.com/a/372669/4686
and I copied the code into collatz.lua, for convenience here it is
---- start of lua script
function collatz_count(n, m)
local function collatz_next(n)
if ( n % 2 == 0 ) then
return n / 2
else
return 3 * n + 1
end
end
m = m or 1
if ( n > 1 ) then
return collatz_count( collatz_next(n), m + 1 )
else
return m
end
end
function collatz_max_range(start, stop, count, len)
count = count or 1
len = len or start
if start > stop then
return len
else
if collatz_count(start) > count then
return collatz_max_range(start+1, stop, collatz_count(start), start)
else
return collatz_max_range(start+1, stop, count, len)
end
end
end
print(collatz_max_range(tonumber(arg[1]),tonumber(arg[2])))
-- code de Henri Menke https://tex.stackexchange.com/a/372669/4686
---- end of lua script
I have observed in other occasions that my mac os x 10.9.5. laptop
has a tendency to have worse performances, in proportion, when
computation times run into the minute or so, compared to some
Linux box I access elsewhere. But here the problem is with comparison
of 2016 and 2017 situations and the fact that bare lua 5.3.3 interpreter
is faster.
Thanks,
Jean-François
More information about the luatex
mailing list