bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Microtype and texinfo.tex performance


From: Gavin Smith
Subject: Microtype and texinfo.tex performance
Date: Wed, 28 Dec 2022 11:16:12 +0000

In the last couple of days I have been looking into texinfo.tex performance.

I have gained some quite significant speedups by changing the "dummies"
that are written to auxiliary files be activated with a conditional rather
by redefining them with \def.

I have tested it on several manuals, but this is quite a major change
so could do with more testing.

I ran the tests below in a test directory, after running texi2pdf enough
times that TeX would only be run once.  The reported times were typical
on my system after I ran the commands enough time so that disk caches
were hot.


BEFORE CHANGES with texinfo.tex 2022-12-26.11  [git 38e7fa90fadaecdc645d]

$ time texi2pdf ../../emacs-lispref-27.2/elisp.texi
real    0m7.394s
user    0m7.167s
sys     0m0.131s

$ time texi2pdf ../../groff.texi
real    0m1.890s
user    0m1.746s
sys     0m0.131s

$ time texi2pdf ../../m4.texi
real    0m0.893s
user    0m0.798s
sys     0m0.090s


AFTER CHANGES with texinfo.tex 2022-12-28.00  [git ff79a7b0ba33e1c48].

$ time texi2pdf ../../emacs-lispref-27.2/elisp.texi
real    0m6.274s
user    0m5.980s
sys     0m0.197s

$ time texi2pdf ../../groff.texi
real    0m1.562s
user    0m1.447s
sys     0m0.122s

$ time texi2pdf ../../m4.texi
real    0m0.845s
user    0m0.698s
sys     0m0.119s


As you can see, there is about a 15% speedup - this will vary depending
on the size of the manual and how much it used index entries and
cross-references.

I found that microtypograpic formatting also slows down the run a lot.
When I turned this off, I got the following results:


MICROTYPE OFF

$ time texi2pdf ../../emacs-lispref-27.2/elisp.texi
real    0m4.220s
user    0m3.939s
sys     0m0.174s

$ time texi2pdf ../../groff.texi
real    0m1.306s
user    0m1.234s
sys     0m0.082s

$ time texi2pdf ../../m4.texi
real    0m0.620s
user    0m0.542s
sys     0m0.081s


Relative to the base, turning microtype off produces a further 10-25% decrease
in execution time.

Microtype output looks great but having faster processing runs will
really make a difference for users too, helping them to work on their
manuals more.  I think we should turn microtype off by default.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]