[NTG-context] metafun

Hans Hagen j.hagen at xs4all.nl
Sat Feb 20 17:27:33 CET 2021


Hi,

When making sure that the metafun manual processes with lmtx (where we 
have sometimes different implementations of macros) I also checked 
performance.

When we started with this manual, it was still MKII time so we either 
had direct calls or inbetween calls. Especially multiple runs could take 
a while (many minutes, iir some 15 depending on how it was run). That 
was no fun.

In mkiv with luatex and the built in mp library this dramatically went 
down to 18.1 seconds for one run and 14.2 seconds for luajittex, for 428
pages.

This not bad considering that a lots of features are used: thousands of 
mp images, a bunch of external images, many fonts, plenty of buffers, 
positioning, color, hyperlinks, backgrounds etc. This document uses 
plenty of lua so that is why we gain a lot with luajittex.

In lmtx where we dropped jit and have a less performing backend we 
expect to need more runtime but in the meantime we're quite okay. Not 
only the engine is faster, but also some low level macros benefit a bit 
from new features. I don't know how much lua speedup plays a role but 
probably not that much. For 448 pages (some 20 more than we had before) 
we now need 16.5 seconds and 15.7 when we use the compact font mode. So 
we're halfway between luatex and luajittex now. More than 3 seconds of 
the runtime is for metapost. (I use the  machine as before.)

Hans

PS. If all the stories are true is should be 1 second on a modern apple 
at which point differences in measurements become noise but I cannot 
check that. Some day I might check it on a rpi 4.

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list