Lars Huttar wrote:

We have close to 7000 mpgraphics, and they add about 15 minutes to the
run time.

most of them are the same so reusing them made sense

But the run time was already quite long before we started using those.

- define fonts beforehand

OK, we will look into this. I'm sure Jelle knows about this but I'm a
noob. I'm pretty sure we are not *loading* fonts every time, but maybe
we're scaling fonts an unnecessary number of times.
For example, we have the following macro, which we use thousands of times:
        \def\LN#1{{\switchtobodyfont[SansB,\LNfontsize]{#1}}}

indeed this will define the scaled ones again and again (whole sets of them since you use a complete switch); internall tex reuses them but it only know so when they're defined

Would it help much to instead use
        \definefont[SansBLN][... at \LNfontsize]
and then
        \def\LN#1{{\SansBLN{#1}}}
?

indeed:

\definefont[SansBLN][... at \LNfontsize]

but no extra { } needed:

\def\LN#1{{\SansBLN#1}}

- use unique mpgraphic when possible

I would be interested to know if this is possible in our situation. Most
of our mpgraphics are due to wanting thick-and-thin or single-and-double
borders on tables, which are not natively supported by the ConTeXt table
model.

i sent jelle the patched files

The advice I received said to define each mpgraphic using
\startuseMPgraphic (we have about 18 of these), associate them with
overlays using \defineoverlay (again, we have 18), and then use them in
table cells using statements like
        \setupTABLE[c][first][background={LRtb}]
Empirically, this seems to end up using one mpgraphic per table cell,
hence our thousands of mpgraphics. I don't know why a new mpgraphic
would be created for each cell. Can someone suggest a way to avoid this?

metafun manual: unique mp graphics

i changes the definitions a bit and now get 5 pages per second on my
laptop in luatex; xetex processes the pages a bit faster but spends way
more time on the mp part

My last run gave about 0.25 pages per second on our fastest server, when
taking into account multiple passes; that comes out to about 2 pps for
--once.

the patched files do 5-10 pps on my laptop (was > 1 sec pp) so an improvement factor of at least 5 is possible

there are probably other optimizations possible but i cannot spent too much time on it

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to