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