stone-zeng / stone-zeng.site

Personal website of Xiangdong Zeng
https://stone-zeng.site
Creative Commons Attribution Share Alike 4.0 International
12 stars 5 forks source link

TeX 性能评测 | stone-zeng.github.io #6

Closed stone-zeng closed 9 months ago

stone-zeng commented 4 years ago

https://stone-zeng.github.io/2019-07-24-tex-benchmark/

众所周知 $\XeTeX$ 和 $\LuaTeX$ 比起 $\pdfTeX$ 性能比较成问题,这也成了不少人抱着 CJK 不放手的原因。口说无凭,我们来做些评测看一看各种引擎的性能到底如何。

asnahu commented 3 years ago

clerk_ma 的私有版本呢,速度也是这样么?

Firestar-Reimu commented 2 years ago

如何减小lualatex调用source han的时间复杂度?我准备从xelatex迁移到lualatex,平时用Noto CJK字体(也就是Source Han),明显感觉到编译速度变慢,是应该换一个字体还是有什么hack的方法?(我不想用默认的fandol系列)

stone-zeng commented 2 years ago

如何减小lualatex调用source han的时间复杂度?我准备从xelatex迁移到lualatex,平时用Noto CJK字体(也就是Source Han),明显感觉到编译速度变慢,是应该换一个字体还是有什么hack的方法?(我不想用默认的fandol系列)

主要的性能开销在 luaotfload,不过用户可能没什么办法干预……实操的话,第一次使用(或者重新安装字体之后)会生成缓存,这一步很慢;之后再来用的话还是能够接受的。

Firestar-Reimu commented 2 years ago

我就是生成了缓存之后,依然很慢……(测试平台:Manjaro Linux + TeX Live 2022)

这里我测试了一个20页的数学作业(只有汉字和数学公式),如果是 fontset=windows:(时间单位是纳秒)

xelatex 573834289
lualatex 1566780884

如果是 fontset=none 然后自己配置 Noto CJK(Serif + Sans + Mono):

xelatex 605053518
lualatex 2155239634

一个8页的电动力学作业(有 fontspecnewtxmath):

xelatex 665445661
lualatex 2035217317

一个40页的beamer(用 Noto CJK):

xelatex 1403753363
lualatex 3535206145

另一方面,您的几个测试我都跑过了,可以复现(lualatex 快于 xelatex)

我怀疑大量的数学公式会拖慢 lualatex,因为我拿 latex 主要是写作业,数学公式较多而页数较少(一般小于10),所以这对于我很重要

另一个类似的帖子(2021年):https://zhuanlan.zhihu.com/p/374491983