为什么 TeX 的容量有限?

为什么 TeX 的容量有限?

如今的计算机内存已经达到几 GB,为什么 TeX 的容量仍然如此有限?为什么现代 TeX 安装默认不调整为更高的容量?为什么调整 TeX 容量只推荐作为最后的手段?

答案1

(CW 来自评论)

答案https://tex.stackexchange.com/a/27482/963表明 TeX 能够处理大型文档。但是,内存密集型软件包(例如)pgfplots可能会导致 TeX 内存耗尽;这里所说的基于 TeX WEB 的实现,即 Knuth TeX、pdfTeX 和 XeTeX。LuaTeX 在这方面有所不同,因为它确实动态分配内存。但是,LuaTeX 也对寄存器(每种 65536 个)和数学系列(256 个)设置了限制。

TeX 是在动态分配内存对于许多(所有?)操作系统来说都是不可能的时开发的。更改此模型需要对程序中最精细的部分进行大量修改。LuaTeX 基本上是从头开始重写的,因此它可以利用更多现代 C 库。

实际上,大多数空间不足的情况都是由于代码循环造成的。除了极少数元素(例如数学家族)由于(历史)结构原因而受到限制外,可以定义更高的容量。但如果内存故障是由循环引起的,则只会导致更长的延迟和严重的挫败感。如果您知道您将读取具有相当长输入行的文件,或者读取数千个文件来编译特定的集合,那么增加这些大小是有意义的。但要谨慎行事。

相关内容