# pdf objext/destinations/memory limits

At the end of the log file of the compilation run of a larger document I get

Output written on <\jobname>.pdf ( <a lot of> pages, <a lot of> bytes).
PDF statistics:
14055 PDF objects out of 15390 (max. 8388607)
3115 named destinations out of 3580 (max. 131072)
5096 words of extra memory for PDF output out of 10000 (max. 10000000)


What happens when the "out of" numbers are reached?

What happens when the "max." numbers are reached?

There seems to be a difference. (Why else two different numbers?)

eTeX is not contained in my TeX distribution, there is no newer version of the distribution (yet), and the eTeX package can neither be used without eTeX.

EDIT:

I compiled

\documentclass{article}
\begin{document}
x
\end{document}


and got

PDF statistics:
12 PDF objects out of 1000 (max. 8388607)
0 named destinations out of 1000 (max. 131072)
1 words of extra memory for PDF output out of 10000 (max. 10000000)


and when compiling the recent version of the larger document, which triggered my question in the first place, I got

PDF statistics:
20057 PDF objects out of 22161 (max. 8388607)
5013 named destinations out of 5155 (max. 131072)
91295 words of extra memory for PDF output out of 106986 (max. 10000000)


i.e. the numbers before "max." have just been increased by TeX as needed, as was explained in the answer of Lev Bishop, which therefore is confirmed.

Compilation with TeX Live 2011 even resulted in

named destinations max. 500000 instead of only 131072.

-
Are your question "What happens when you reach the limits?" or "How to avoid reaching the limits?"? –  N.N. Aug 12 '11 at 13:54
"eTeX is out of question"? Modern versions of pdflatex are based on eTeX! Or do you mean the etex package? Do you use an older version? What happens when one level is reached? I guess that the compilation stops with some over-limit error. That's it! Please refine your question so that it is clearer what the answers should contain. –  Martin Scharrer Aug 12 '11 at 14:03

If you exceed the "out of" pdftex will simply allocate more memory, and unless the allocation fails (unlikely unless you are running pdftex on something very small like your router, your smart phone or your renovated pdp-11) you won't notice anything, except the "out of" number will be larger in the log file.

If you exceed the "max" then you'll get a fatal error and a message like this:

namedest.tex:39: TeX capacity exceeded, sorry [pool size=3148339]
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.


Most of the time, this indicates that you have a serious error in your input, such as an infinite loop, but if you really need to enlarge, then most distributions have a way to do so: eg, web2c based distributions (most) can use a file texmf.cnf that contains the limits. You may also need to regenerate the formats for pdftex to notice certain of the changed limits.

-
OK, thanks! That answers what happens, and (because I'm way below max) I now know that I do not have to worry. –  Stephen Aug 14 '11 at 10:58