harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [classlib][luni] FYI hashmap optimization
Date Mon, 17 Sep 2007 19:41:11 GMT
Rustem Rafikov wrote:
> DRLVM has "scalar replacement" JIT optimization implemented. It allows to
> avoid calling Integer.equals method as well as excessive Integer objects
> creation. This optimization gives us noticeable  boost on SPECjbb2005
> benchmark. JIT optimization is more general and effective.

Hi Rustem, cool -- I can see that is a useful general optimization
technique.

> Unfortunately, HashMap optimization you suggested causes ~5% degradation on
> SPECjbb2005 with DRLVM.

Hmm, not so good :-(  I'm interested to learn why it would cause such a
large degradation. In effect, what I did was to improve the CPU cache
hit rate, by avoiding the dereference of the Integer key object during
the map look-up.

IMHO the optimization doesn't increase the code path length excessively,
so I might have expected you say that DRLVM scalar replacement means it
doesn't benefit much from avoiding the Integer dereference cache miss,
but why would it make the benchmark score so much worse?

> I'd suggest to revert this commit for a while.

Can do.  I'm interested to learn a bit more.

Regards,
Tim

Mime
View raw message