[jdom-interest] About JDOM performance
phil at triloggroup.com
phil at triloggroup.com
Tue May 22 16:24:46 PDT 2001
Hi Jason, happy to read you again.
I think that single linked list is definitively a bad idea since it requires lots of work for simply inserting/removing
a new element, comparing to the gain of 4 bytes per item (38 instead of 42).
Another solution is to add the prev/next data member, which prevents from allocating an entry object ecah time. But this
practice is discouraged because it ties an object to a list and does not allow an object to be in several lists. And you
need a wrapper to the String objects, when added to the element content.
For my point of view, I can't see any pb by replacing the LinkedList with an ArrayList. The only changes will perhap's
concern some LinkedList's specific methods, like addFirst()...
Phil.
Jason Hunter
<jhunter at coll To: phil at triloggroup.com
ab.net> cc: jdom-interest at jdom.org
Subject: Re: [jdom-interest] About JDOM performance
23/05/2001
00:18
phil at triloggroup.com wrote:
>
> In fact, the memory overhead for an object is something like 30
> bytes, depending on the JVM.
> The size for a 100,000 items in a linked is approximatly
> 100000*(30+4*3)=4,200,000 bytes, regarding less the entry
> itself. On the over hand, the array list, in the worst case, is
> 150,000*4=600,000 bytes => 7 times lower !! The only
> drawback is that memory must be contiguous. But this is not a
> constrainy under Win32 since the memory is logically
> contiguous but allocated in blocks.
> Also note that creating plenty of LinkedList.Entry objects
> stress the garbage collector.
>
> I will definitively remove the LinkedLists from my own JDOM
> sources and replace them by ArrayLists.
Phil, seems you have a compelling argument for why we should use
ArrayList always. Anyone have a counter?
Jools, does this have a profound effect on your next-gen list work?
Might make it easier on you since you wouldn't have to manage a
singly-linked list. Perhaps you could just wrap/extend an ArrayList.
-jh-
More information about the jdom-interest
mailing list