As you will have seen, during the last couple of days, I've been doing performance improvements in the area of the area tree parser and the renderers. In the meantime, I've probably squeezed out everything that fit under the 80:20 rule in these parts.
Here's some background why performance in this area is especially important for those using the area tree parser: With it, some large-volume document production systems can do online production of single documents. They are saved in the intermediate format. At some point, a print stream is to be generated (all pending documents are concatenated together, packaging information applied etc. etc.) and sent to a printer. This process has to be very fast, or rather, as much processing time should be spent preparing the intermediate format and as little as possible bringing the documents together in their final format. ATM, the area tree parser still eats up around 40%, around 5-10% are environmental tasks (which I want to improve next week) and the rest is rendering time. By taking our area tree model as intermediate format we have a certain complexity in the whole thing that causes FOP to be about 3 to 5 times slower than the processing of XEP's intermediate format. So, if anyone has any ideas how we could considerably improve our area tree to reduce the overall complexity short off switching the whole area tree model or coming up with a new intermediate format, that would be appreciated. Jeremias Maerki