My testing hasn't exactly been scientific, so you'll have to take my comments for what they're worth.
I'm running FOP on an IBM OS/390 mainframe. I tested running anywhere from a single thread to up to four threads. In this environment, two threads seems to be the "sweet spot" -- overall throughput is improved even though each transformation takes a bit longer. Using three and four threads, the render time for each PDF increases so much that there is no overall gain in throughput. I suspect most of this is due to the environment, not necessarily FOP. I don't know how many processors are available on the mainframe. The Java environment on the mainframe is actually hosted by a Unix emulator (Unix System Services), not on the native z/OS, so I don't know what effects that extra layer has. Additionally, this is a mainframe that is shared corporate-wide, so use by other batch jobs can significantly affect the resources (mainly processor) that are available to Java/FOP. There are probably also some design issues on my end that affect the performance in a multi-threaded environment. Now I'm testing with FOP 0.20.5rc my fastest run to date has been with this version -- don't know if it's coincidence or if it really is faster than 0.20.4. Also, does anybody have any comments on a favorite XML/XSLT processor?? I seem to consistently get the best performance using Saxon 6.5.2 and its embedded XML processor. It's almost always faster the Xerces/Xalan combination. I use SAX events and compiled style sheets to boost performance. Jeremias Maerki <[EMAIL PROTECTED] To: [EMAIL PROTECTED] enmail.ch> cc: Subject: Re: Multithreading with FOP 12/19/2002 01:47 PM Please respond to fop-user The only known pitfall concerning 0.20.4 is a MT-problem with images. You can occasionally get NullPointerExceptions when images are loaded. This has been fixed in 0.20.5rc. I expect 0.20.5rc to work well in a multithreaded environment although FOP still uses a few ugly construct like a too frequent use of statics, for example. We're adressing this in the redesign. Some best practice that comes to my mind is to only configure FOP once when the VM starts. You mention that the average rendering time increases with multiple threads. Just curious, what about the throughput? Is FOP getting slower with multiple threads? On 18.12.2002 22:09:13 Ryan.Asleson wrote: > > I'm trying to use FOP 0.20.4 in a multi-threaded environment to produce > PDFs. As I increase the number of threads from one or two to three or > four, the average rendering time per PDF increases significantly. > > I realize that the host environment (available memory, number of > processors, etc etc) can cause this affect, but I was wondering if there > are any pitfalls, problems , or best practices with using FOP in a > multi-threaded environment. Jeremias Maerki --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]