[luatex] Removing the zero-initialization of an array can speedup LuaTeX on plain TeX document by 25%
luigi scarso
luigi.scarso at gmail.com
Sat Aug 31 19:12:21 CEST 2024
On Sat, 31 Aug 2024 at 15:17, user202729--- via luatex <luatex at tug.org>
wrote:
> Hi,
>
> Do you think the following is a reasonable possible performance
> improvement for LuaTeX? Thank you.
>
> ------
>
> In the hnj_hyphenation function, currently the large array `utf8word` is
> zeroed out every time the function is called.
>
> This is unnecessary (the string is always null-terminated before being
> used. Besides, observe that the function processes multiple words per call,
> without zeroing out the array between each word, so even with the current
> function there could be nonzero bytes after the null terminator at each use
> of the array).
>
> For a plain TeX file where macro expansion takes negligible time (such as
> tex.tex, the source code of TeX), this single improvement can speeds up the
> compilation time by 25%. On my machine, the runtime decreases from 3.064s
> to 2.327s.
>
> To generate `tex.tex`, you can download `tex.web` from CTAN package `tex`,
> and run `weave tex.web`
>
> The patch is attached below.
Thank you very much, surely Hans or me will check it asap.
--
luigi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/luatex/attachments/20240831/cca934e5/attachment.htm>
More information about the luatex
mailing list.