Hello.

> 
> > Here are some (approximate) numbers (time in minutes) to give an idea
> > of the problem:
> >
> >               QL  |  QH
> >           --------+-------
> > 1.6 -Xint     60  | 120
> > 1.6 JIT       15  |  10    <---- Something wrong here, I think.
> > 1.5 JIT        6  |  12
> 
> Okay, this seems to be a performance regression in the 1.6 JVM
> (arguably a bug).  Are the GC settings the same? 

I don't set any particular settings, so they should the same, unless 1.5 and
1.6 do not use the same defaults.

> Is your application
> allocation-intense?
> 

No; most objects are allocated once and modified afterwards.  Also there are
not so many objects (about 61000, a third of which are small objects like 3D
vectors).

> >> It's somewhat expected that relative performance changes.
> >
> > How could that be expected???
> 
> Few improvements to the JIT compiler benefit all programs across the
> board.  A particular optimization might kick in in QL, but not in QH,
> or vice versa.

I can understand that; but in this particular case, the code for just the
"QL" algorithm is about 30 times faster than the code for the "QH"
algorithm.  ["QL" and "QH" are only a small part of the overall program,
which translates to only a factor of 2 for the overall relative performance
gain.]  Since there is a factor of about 10 between "-Xint" and JIT-enabled
execution, it is hard to understand how using "QH" could be any faster than
using "QL", whatever added JIT-benefit "QH" wins over "QL": "QL" should be
at least about 3 times faster than "QH", implying that the overall program
cannot be slower if the only change is "QL" vs "QH".


Best,
Gilles


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to