Hello Peter,

I was looking at this (thinking it would be a useful thing to benchmark, 
looking for possible improvements)
and noticed that you rely on the hashed objects having a sensible 
value-dependent hashcode (as opposed
to the default Object hashcode).  Sadly, this seems not to be the case for 
MemberNames or for “Types”.
I am sorely tempted to repair this glitch, not sure if it fits in the scope of 
the original bug, but there’s a lot to
be said for future-performance-proofing.

David

On 2014-11-09, at 7:55 AM, Peter Levart <peter.lev...@gmail.com> wrote:

> Hi David,
> 
> I played a little with the idea of having a hash table instead of packed 
> sorted array for interning. Using ConcurrentHashMap would present quite some 
> memory overhead. A more compact representation is possible in the form of a 
> linear-scan hash table where elements of array are MemberNames themselves:
> 
> http://cr.openjdk.java.net/~plevart/misc/MemberName.intern/jdk.06.diff/
> 
> This is a drop-in replacement for MemberName on top of your jdk.06 patch. If 
> you have some time, you can run this with your performance tests to see if it 
> presents any difference. If not, then perhaps this interning is not so 
> performance critical after all.
> 
> Regards, Peter

Reply via email to