Re: etex and pdftex have diverging memory constraints?
Herbert Voss <[email protected]>
| Newsgroups | gmane.comp.tex.live |
|---|---|
| Message-ID | <[email protected]> |
Am 27.08.25 um 15:45 schrieb jfbu: > I forgot to say I am on a 64bit system. I also used a 64bit system > > I have confirmed that the limits (which are close to one another with etex slightly highter than pdftex) are about half the value of main_memory parameter in texmf.cnf. > > This parameter is referred to in a comment there as "words of inimemory available; " > > On my system its value is 5000000. I have the same setting Herbert > > Perhaps you have a higher setting or are on a 32bit machine and then the limit is at about main_memory (I can't check). > > Kind regards > > Jean-François > > >> Le 27 août 2025 à 15:42, Herbert Voss <[email protected]> a écrit : >> >> >> >> Am 27.08.25 um 15:15 schrieb jfbu via tex-live: >>> Hi, >>> >>> Sorry if this is very basic, but I always thought the sole difference between etex and pdftex is that the former works to produce a dvi and the latter a pdf. >>> >>> So, I was surprised to discover (or perhaps I observed that years ago and forgot) that pdftex has slightly more constrained memory constraints on macro expansion. >>> >>> Here is a test file testxintLength.tex >>> >>> ---- >>> \input xintkernel.sty >>> \edef\x{\romannumeral\xintreplicate{% >>> 2492679% >>> }{F}} >>> \expandafter\xintLength\expandafter{\x} >>> \bye >>> ---- >>> >>> (the code creates a macro \x expanding to 2492679 F's then attempts to measure how many F's there are). >>> >>> Compilation with etex succeeds (even with 2492694 in place of 2492679). >>> >>> $ etex testxintLength.tex >>> This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=etex) >>> restricted \write18 enabled. >>> entering extended mode >>> (./testxintLength.tex (./xintkernel.sty) [1] ) >>> Output written on testxintLength.dvi (1 page, 216 bytes). >>> Transcript written on testxintLength.log. >>> >>> But compilation with pdftex fails. >>> >>> $ pdftex testxintLength >>> This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=pdftex) >>> restricted \write18 enabled. >>> entering extended mode >>> (./testxintLength.tex (./xintkernel.sty) >>> ! TeX capacity exceeded, sorry [main memory size=5000000]. >>> <inserted text> 2492679 >>> \xintlength ...xint_c_i \xint_c_ \xint_bye \relax l.5 \expandafter\xintLength\expandafter{\x} >>> ! ==> Fatal error occurred, no output PDF file produced! >>> Transcript written on testxintLength.log. >> I cannot see it with an up-to-date TL2025 (macOS): >> >> voss>mist:$ pdfetex xyz.tex >> This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=pdfetex) >> restricted \write18 enabled. >> entering extended mode >> (./xyz.tex (/usr/local/texlive/2025/texmf-dist/tex/generic/xint/xintkernel.sty) >> [1{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] )</u >> sr/local/texlive/2025/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb> >> Output written on xyz.pdf (1 page, 9876 bytes). >> Transcript written on xyz.log. >> >> Herbert