Is there an efficient file format available that is much faster, and still
allows me to control duplexing and tray selection per page?
Some high end printers have special markings and "language" (with
barcodes) that you can use outside the printing area to control the way
the printing on that page is handled.
I've seen it used in conjugation with printing-folding and enveloping
systems (but can't be more precise because never used one, only watched
the systems working on expos).
As for optimization, one thing that i noticed is if you have loads of
citation references, the document production takes an huge time more to
be produced. And I'm only referring to fo->pdf production mind.
For further optimization you can also decouple the xml-xslt->fo and
fo->output production. Passing from a 32bit to full flagged 64bit
environment may also allow further improvements (and break the Java
limitation on the memory allocation that happens in all 32bit
applications). In 32bit environment with 4gb ram on the machine, I
wasn't able to use more then 1.2Gb ram in Java.
The project I was involved is a book with more then 5k pages with
extensive use of page references to produce automatically indexes. To be
able to "render" the book it was needed to split the book in chapters
and produce an index for each of the chapter. Not a nice hack, but it
worked.
Hope to have been of help,
Cheers,
Luís Ferro