On May 12, 2008, at 15:42, [EMAIL PROTECTED] wrote:

URL: http://svn.apache.org/viewvc?rev=655500&view=rev
Log:
Extended caching to CondLengthProperty CommonBorderPaddingBackground.BorderInfo and CommonBorderPaddingBackground.


This /did/ have quite some effect...

For a FO document with one page-sequence containing +/- 7300 tables with +/- 87000 cells in total, having a lot of duplicate border/ padding specs, this saved me some 64MB of heap needed to avoid an OOMError. The same document needed 704MB before the change, but completes with 640MB after (haven't tried any lower, yet ;-))

For those interested in comparing the results with and without caching, I have committed a change a few days ago which allows to deactivate the cache, by passing

-Dorg.apache.fop.fo.properties.use-cache=false

to the VM.

It could also turn out to be of use in multi-threading environments, if contention would somehow turn out to slow the process down, and you don't mind the extra heap space. You can always try turning caching off, which should avoid any synchronization overhead (locking is restricted to private operations).



Cheers

Andreas

Reply via email to