Re: [xep-support] XEP4.4 Performance Diagnostics/Docs?

From: Eliot Kimber <>
Date: Tue Jun 21 2005 - 10:18:49 PDT

Carlton Huang wrote:

> Question2: Do you have suggestions on how to efficiently implement
> the XSL:FO which would improve performance?

Avoid the use of tables when other constructs will serve or, if
possible, break long tables into several shorter ones. For any
composition system, tables are always one of the biggest performance
hits because the table must be held entirely in memory before it can be
completely rendered. Tables also require a lot of computation.

If you have large tables, make sure that the computer doing the
processing has enough real memory to avoid paging--large tables take
lots of memory and can push a machine to the point where it starts
memory paging, which will destroy performance.

Also, you need to clearly distinguish the XML-to-FO step, the
composition step, and the PDF generation step--these all contribute to
the total time but will each have different ways to do optimization.

> Question3: Do you have any best practices or usage guidelines that
> would benefit performance?

Assuming you've dealt with any table issues, most performance problems
are either in the XSLT or the PDF generation. Not much you can do about
the PDF generation except to turn off XEP's PDF compression option (as
discussed recently on this list).

For XSLT, there are some common mistakes that can hurt performance, such
as using "//" type XPaths when direct paths will do.

Also, moving to a high-performance XSLT engine might help. Saxon 8.4 is
significantly faster than many.

Finally, if you're doing back-of-the-book index processing in your XSLT,
that could be a significant chunk of the processing time. Using XSLT
2.0, with it's for-each-group mechanism, could help speed up processing
here (I haven't tried re-implementing XSLT 1 index processing with XSLT
2 but it should be faster, although I'm not sure what improvement factor
to expect).



W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8155
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service
Received on Tue Jun 21 10:37:09 2005

This archive was generated by hypermail 2.1.8 : Tue Jun 21 2005 - 10:37:10 PDT