加快 LaTeX 处理速度的最明显方法是将大型复杂文档拆分成较小的部分。例如,Makefile、使用 TiKZ 时的\beginpgfgraphicnamed
/\endpgfgraphicnamed
以及将大型文件拆分成单独的章节都有助于将大型作业拆分成较小的、希望是独立的部分。但有时这还不够——许多软件包在后台执行复杂的操作,导致文档处理速度变慢。
是否有任何工具可以帮助找出罪魁祸首?
如果分析工具也能提供加快速度的方法的建议,那就太好了。
答案1
也许不是你想要的,但 LaTeX 项目使用跟踪包来了解不同事物的“成本”。此包允许您在日志文件中包含每个 TeX 扩展和分配。因此,您可以检查特定函数在日志中添加了多少行,这让您了解 TeX 在执行您要求的任何操作时有多努力。除此之外,我采取的方法是创建简单的测试文件(例如一个带有循环以多次重复一个函数的文件),然后在命令行中使用“time”来查看当我更改输入时会发生什么变化。
答案2
pdfTeX(这是现在的默认设置,即使您正在生成 DVI)具有进行时序测试的功能。使用\pdfresettime
它来启动它并\pdfelapsedtime
在完成后执行“某事”:
\documentclass{文章} \pdfresettimer \usepackage{expl3,tikz} \显示\pdfelapsedtime \开始{文档} \结束{文档}
的值\pdfelapsedtime
是经过的秒数乘以 65536。
答案3
tikz/pgf 似乎提供了一个通用的剖析器,它建立在优化 TeX 代码的基础上\pdfelapsedtime
。请参阅最近从 CVS 签出时手册中的“44 剖析器库”。稳定版本 pgf 2.0 已过时。