Thanks for taking the time to do this analysis. I was wondering where we were standing on performance.

I think it is clear from the 12sec->7.8 sec drop that keeping logging/stdout output reduced helps performance. Keeping quiet seems to be Xalan's approach as well.

I looked at our commericial competitors' sites to see where they are with logging. It appears RenderX doesn't log by default but it has a server-side EnMasse product[1] which does configurable logging. AntennaHouse apparently just uses stdout/stderr[2], but I don't know how much output it produces while running. Since the logging level is nonconfigurable, I would suspect not much.



Jeremias Maerki wrote:

I've just run (from the examples) through both 0.20.5 and CVS
HEAD, 20 times in 1 thread, to satisfy my curiosity. I don't want to
hide these numbers from you:

0.20.5 takes 6.3 seconds for that.

CVS HEAD took over 12 seconds at the beginning but spitting out lots of
debug messages. After converting the System.out calls to log.debug calls
and setting the log level to SEVERE, the time went down to 7.8 seconds.
A subjective impression I had was that CVS HEAD took longer to warm up (i.e. classloading plus initialitation). is a document that except for references looks fine in both
versions, although CVS HEAD produces one page more (11 instead of 10).
It looks like the line heights differ quite a bit.

For all those who'd say now that "the new FOP is too slow, I'm going
somewhere else" (or something like that), bear in mind this is all
preliminary and based on non-optimized code and work in progress. I was
simply curious and I'm sure others are, too. At least, we can say, it's
not that bad and nothing is lost. :-)

More later, probably with measurements with tables and on memory

Jeremias Maerki

Reply via email to