On Jan 10, 2007, at 20:39, Andreas L Delmelle wrote:
On Jan 10, 2007, at 04:50, Manuel Mall wrote:
On Wednesday 10 January 2007 03:42, Andreas L Delmelle wrote:
<snip />
Property lists themselves are no longer alive in the snapshot, it
seems. I don't suppose they are that much of a problem. They are
meant to be in scope for only a very brief interval (best case: from
PropertyListMaker.make() until FObj.bind())
Hmm, what are the 80K+ ArrayLists and their backing Object[] then?
That remains the question, of course...
If it had been the PropertyLists, there would also be 80K instances
of StaticPropertyList.
BTW: PropertyLists use plain arrays of Property[] (not ArrayLists)
I'd say the 80K ArrayLists are simply the childNodes lists of all
those FObj (TableCells and Blocks), and that those are, in most
cases, lists of only one element.
I have read in relation to Java performance tuning that, if you know
in advance which type of element will be stored in a Collection, it
almost always pays off to write your own implementation... In this
case, we could add a FONodeList class, that implements the
java.util.List interface, and have it backed by a FONode[].
This could at least drastically reduce the number of casts made in
the fo package.
Hmm, OK, this is such a good idea that I might even get started on it
right away :)
Cheers,
Andreas