2007/12/12, Hans Hagen
Wolfgang Schuster wrote:
Yes I did this and I changed my font settings for the title page to \definedfont in my document takes now 80 seconds for a single run but it spends most of the time for font loading.
much overhead is related to things like setting up math, synchronizing encodings, mappings, (and hz, protruding if enabled) .. keep in mind that we're talking of font systems, not one font
loading the fonts is sometimes the slowest thing in a document.
But you can beat the process time of plain TeX which can be used in simple documents where you can reduce the time with a few tricks. My process time for vocabulary cards from a xml file is below 1 second and I have more than 4.000 pages ;-) Doing the same thing woth ConTeXt's old xml interface and XeTeX takes 30 seconds and I won't talk about mkiv.
it all depends on what functionality is needed (take pagebody construction, which in plain is hardly present, backgrounds, color, etc etc) and in the case of xml it also depends on what 'defineXML' commands are used; things like namespaces (fallbacks), attributes etc etc ... many things play a role and i'm pretty sure that the critical parts of context are quite optimized; for sure many (simple) docs can be processed using plain tex but as soon as you need a bit more ...
I wanted to show only it is sometimes to enough to use a low level system and you don't need such a complex system like ConTeXt. My document was also optimized to speed and I work without page numbering (first step) and dropped in a second step the output routine, I use \shipout to place the data from the file and write the information to the file. The strong point from my ConTeXt solution is to have better control over the layout, my plain solution use hboxes and vboxes where I use layers in ConTeXt and this is easier. My simple XML handler is also very limited and has only support for environments and pickups but nothing else.
(btw, xml in mkiv is quite different, since it operates on trees)
It is possible to use the old and new method in some documents in the same way but I prefer the new method because I can now use xml files to store information without the need to store the data before the run in TeX macros. Wolfgang