Experimental benchmarking functions
Prompted by a TeX-sx question on
benchmarking, the team have added a new experimental package to expl3
:
l3benchmark
. This new material
provides a convenient interface for benchmarking: seeing how long it takes for
blocks of code to run. This uses the underlying ‘timer’ support in modern TeX
engines (XeTeX at present not included), but adds some handy wrappers so most
of the hard work is automated.
The new code is pretty experimental, so we are hoping to get feedback on the
interfaces. For example, we’ve provided \benchmark:n
, which automatically
loops code to get enough run time to produce a ‘meaningful’ timing. Do we also
need to have a \benchmark_once:n
version, or how about a begin/end
pairing
for code that can’t be run in a loop?
We’d love to hear from developers on how they see this, either through a posting on the LATEX-L discussion list, by mail to the team, as a GitHub issue, or otherwise.