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