Como observado, isso foi feito originalmente para reduzir o tamanho. Está documentado em 23.1.5 Marcar arquivos e dividir arquivos (GNU Texinfo 6.0):
If a Texinfo file has more than 30,000 bytes,
texinfo-format-buffer
automatically creates a tag table for its Info file;makeinfo
always creates a tag table. With a tag table, Info can jump to new nodes more quickly than it can otherwise.In addition, if the Texinfo file contains more than about 300,000 bytes,
texinfo-format-buffer
andmakeinfo
split the large Info file into shorter indirect subfiles of about 300,000 bytes each. Big files are split into smaller files so that Emacs does not need to make a large buffer to hold the whole of a large Info file; instead, Emacs allocates just enough memory for the small, split-off file that is needed at the time. This way, Emacs avoids wasting memory when you run Info. (Before splitting was implemented, Info files were always kept short and include files were designed as a way to create a single, large printed manual out of the smaller Info files. See Include Files, for more information. Include files are still used for very large documents, such as The Emacs Lisp Reference Manual, in which each chapter is a separate file.)
O recurso de divisão é muito antigo. Por exemplo, quando o texinfo
change-log primeiro o menciona em 1993 , o recurso pode ter sido adicionado antes o log de mudanças ter começado em 1988:
Tue Feb 2 08:38:06 1993 Noah Friedman ([email protected])
* info/Makefile.in: Replace all "--nosplit" arguments to makeinfo
with "--no-split"