performance surprise with Object.hashCode()
Aleksey Shipilev
aleksey.shipilev at oracle.com
Mon May 13 13:04:13 PDT 2013
On 05/14/2013 12:00 AM, Vitaly Davidovich wrote:
> I'm comparing i_i vs o_i difference when intrinsic is enabled/disabled.
> Based on your results, when intrinsic is disabled the o_i case is
> marginally slower than i_i, whereas it's noticeably slower otherwise.
Ah yes. That's because i_i is perfectly devirtualized without any
typechecks (re-reading my original note, there is mention of typecheck,
disregard that, see the hot loop in assembly, it is perfect). o_i
without intrinsic has the typecheck nevertheless, and we are wasting
some of the time there. o_i with intrinsic seems to lose the
devirtualization completely.
-Aleksey.
More information about the hotspot-compiler-dev
mailing list