[Dev-luatex] Benchmark.

Taco Hoekwater taco at elvenkind.com
Mon Apr 2 23:08:17 CEST 2007


Hi David,

David Kastrup wrote:
>> What is wrong with that tex.tex file is a mystery. I have not seen
>> such slowness here and do not (yet) comprehend what is going on. Is
>> there any particular part where it hesitates, or is it just overall
>> much slower?
> 
> No, just going slowly overall the way it looks, so it can't be
> kpathsea, I guess.  The file is just generated by

After some testing with a profiled binary, it turned out that LuaTeX
spends nearly 90% of its run time inside the get_token() function
when it is processing tex.tex completely (535 pages), but only
10% if it runs only the first 20 or so pages.

Since get_token() is tex's internal version of malloc() more or less,
I deduced that it was likely that there was an internal memory leak
(unfreed node) that makes it harder for get_node() to find a new
one when it is asked.

Running a test file with \tracingstats=2 shows the variable memory
usage gradually going up in both luatex and aleph, but not at all
in pdftex, so the leak probably comes from omega. That makes the
'dir_node' the most likely suspect. More later.

If interested, here is a small (context) test file:

   % tex=luatex
   \tracingstats=2
   \dorecurse{50}{\dorecurse{20}{Hi\par}\page}
   \bye

Best wishes, Taco




More information about the dev-luatex mailing list