commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Pontarelli <br...@pontarelli.com>
Subject Re: [Primitives] Does anyone use this?
Date Tue, 02 Nov 2010 17:54:17 GMT
The autoboxing process mostly. When ints are autoboxed and unboxed, there is a performance
hit because it does method invocations and instantiation. Autoboxing for some values will
hit a cache to reduce instantiation overhead, but I think that is only for numbers < 256.


I've found that Lists, Maps and Sets that work directly on primitives reduce overhead quite
a bit by removing the instantiation for the autoboxing and the method invocation for unboxing.

Of course, it all depends on the size and volume of access. I have a Trie that used a Map<Character,
Trie> internally and I switched it to a primitive char map and it increased performance
by about 20-30% and reduced memory consumption as well.

-bp


On Nov 2, 2010, at 11:41 AM, Martin Gainty wrote:

> 
> Brian
> 
> how does primitive collections implementation perform better than JDK collections?
> 
> thanks,
> Martin 
> ______________________________________________ 
> please do not alter or disrupt this transmission. thank you
> 
> 
> 
> 
> 
>> Subject: Re: [Primitives] Does anyone use this?
>> From: brian@pontarelli.com
>> Date: Tue, 2 Nov 2010 11:32:01 -0600
>> To: user@commons.apache.org
>> 
>> I would assume once you get out of the autoboxing caches the performance will get
even worse. It really depends on the application, but I've found a number of spots where primitive
collections work much better than autoboxing and JDK collections.
>> 
>> -bp
>> 
>> 
>> On Nov 2, 2010, at 11:25 AM, James Carman wrote:
>> 
>>> Yet another dependency to add to the mix.
>>> 
>>> On Tue, Nov 2, 2010 at 1:17 PM, Cogen, David - 1008 - MITLL
>>> <cogen@ll.mit.edu> wrote:
>>>> 
>>>> ________________________________________
>>>> From: jcarman@carmanconsulting.com [jcarman@carmanconsulting.com] On Behalf
Of James Carman [james@carmanconsulting.com]
>>>> Sent: Tuesday, November 02, 2010 12:30 PM
>>>> To: Commons Users List
>>>> Subject: Re: [Primitives] Does anyone use this?
>>>> 
>>>> Premature optimization with JDK5. I'd say stick to the JDK classes if
>>>> you can and only try to beef up space/performance if you need to.
>>>> 
>>>> 
>>>> Normally I agree about evils of premature optimization. But ArrayListInt
is practically a drop-in replacement for ArrayList<Integer> and I see no reason not
to use it if it is supported and reliable.
>>>> 
>>>> My test of 2 billion accesses (reads and writes) ran in 35% of the time when
I used ArrayListInt vs. ArrayList<Integer>.
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>>>> For additional commands, e-mail: user-help@commons.apache.org
>>>> 
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: user-help@commons.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>> 
> 		 	   		  


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message