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

Reply via email to