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

Eliot Kimber ekimber at innodata-isogen.com
Tue Jun 21 10:18:49 PDT 2005


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).

Cheers,

Eliot

-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8155

ekimber at innodata-isogen.com
www.innodata-isogen.com

-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/terms-of-service.html



More information about the Xep-support mailing list