Hi Keshlam Sorry. I didn't mean object as in Java object. My initial thought was that 5 SubAllocatedIntVector objects were used per node and inside each SubAllocatedIntVector there is a int[][]. If the 5 objects always grow in synchronization and have the same column-width, would it be possible to use a single (new) variant of SubAllocatedIntVector that maintains a
int[] [] [] [] [] [] m_map ; // can this hold the mapping information for all 5 objects all at once using a single index? instead of int [] [] m_map ; After looking through the Xalan code again, I don't think those 5 objects mentioned earlier grow at the same rate and so my suggestions would not work . Thanks for your clarification. On Tue, Apr 6, 2010 at 5:49 AM, <kesh...@us.ibm.com> wrote: > Let's keep this on the mailing list. That way everyone can participate. > > The simple answer is no. Remember that minimal space required by a Java > object is more than 32 bytes, even before it carries any real data. An > object per node is MUCH more expensive than the parallel array solution. If > Java had structs and unions, as C does, we might be able to do better... but > it really doesn't. (There are some low-level memory management routines > added late in Java's evolution, but I didn't have time to explore that > before I ran out of available time.) > > So: We've done a lot of work to keep array access as inexpensive as > possible, but it's a trade-off, as always. > > > ______________________________________ > "... Three things see no end: A loop with exit code done wrong, > A semaphore untested, And the change that comes along. ..." > -- "Threes" Rev 1.1 - Duane Elms / Leslie Fish > (http://www.ovff.org/pegasus/songs/threes-rev-11.html)