[metapost] Metapost capacity exceeded

Nicola nvitacolonna at gmail.com
Thu Jun 3 16:04:02 CEST 2010


In article <4C0544BD.4070508 at elvenkind.com>, taco <taco at elvenkind.com> 
wrote:

> Nicola wrote:
> > In article <4C05302C.5030003 at elvenkind.com>,
> >  Taco Hoekwater <taco at elvenkind.com> wrote:
> > 
> >> Nicola wrote:
> >>> But, regarding the current version, what are, or 
> >>> where are documented, the numeric limits that are hard-coded? For 
> >>> example, is it possible to have more than ~16K symbolic tokens defined 
> >>> (that is the limit that I can reach in my tests)?
> >> Not all internal limits are documented, in part because some
> >> are completely fixed, in part because some are fluid, and in
> >> part because nobody cared enough to find the actual max.
> >>
> >> I think (but will not guarantee) that the current situation
> >> for hard-code array values 1.2XX is like below:
> >> [...]
> > 
> > Thanks! Those figures will be very useful to me! "Configurable" 
> > parameters are those that can be set during format creation? How do you 
> > do that?
> 
> Add a parameter to texmf.cnf. The names are:
> 
>    main_memory
>    hash_size
>    max_in_open
>    param_size

Just to have it completely clear: in my texmf.cnf I've found:

main_memory = 3000000
max_in_open = 15
param_size = 10000

When I compile

tracingstats:=1;end.

the log shows:

Here is how much of MetaPost's memory you used:
 2 strings out of 37
 24 string characters out of 6307
 4329 words of memory out of 3000000
 507 symbolic tokens out of 16384
 0i,71n,0p,104b,1f stack positions out of 300i,84n,10000p,200b,15f
 0 string compactions (moved 0 characters, 0 strings)

According to The METAFONTbook, the above figures should be, in order:

(1) number of strings    (strings and names of symbolic tokens and files)
(2) pool size            (the characters in such strings)
(3) main memory size     (pairs, paths, pens, pictures, etc.)
(4) hash size            (symbolic token names)
(5) input stack size     (simultaneous input sources)
(6) number of internals  (internal quantities)
(7) rounding table size  (transitions between octants in cycles)
(8) parameter stack size (macro parameters)
(9) buffer size          (characters in lines being read from files)

Items (1)-(4) are fine. But (8) seems to correspond to the 7th number 
(0p/10000p), which in turn looks like param_size; and (5) seems to 
correspond to the 9th number (1f/15f), which looks like max_in_open. Am 
I guessing right? How about the rest?

0i   -> ?
71n  -> ? 
0p   -> (8)
104b -> ?
1f   -> (5)

Nicola



More information about the metapost mailing list