To close this discussion before I do the push here are performance numbers for C1. Numbers are almost similar (few % worser, note that with C2 it improved) because C1 does not do loop optimizations.

size: 1    time:   25    26
size: 7    time:   33    34
size: 8    time:   34    36
size: 16   time:   45    47
size: 32   time:   66    68
size: 64   time:  117   119
size: 128  time:  203   205
size: 256  time:  374   376
size: 512  time:  718   719
size: 1024 time: 1407  1403
size: 2048 time: 2776  2775
size: 4096 time: 5519  5517

Today is the last day when I can do this push before feature freeze. And I did tons of testing with current code (latest webrev) so I am not going to change it just before the push.

Thanks,
Vladimir

On 1/22/13 11:56 PM, Kirk Pepperdine wrote:

On 2013-01-23, at 1:14 AM, Vitaly Davidovich <vita...@gmail.com
<mailto:vita...@gmail.com>> wrote:

Personally, optimizing for interpreter (or even C1) doesn't seem worth
it.  If something's truly hot and best perf is desired then use C2 or
tiered.  If the method isn't hot enough to trigger the C2 threshold,
then why bother? You're already behind the 8 ball in terms of
performance.  Maybe this is heresy though :).


Maybe, maybe not.. what I can say is this is a case of an optimization
that doesn't scale down. In cases where scale down was needed I
have recommended to customers that they "flash" their system just to
push the counter beyond the compile threshold. In those cases naively
compiled code was still a lot better than interrupting byte code. I've
also turned off decay in a number of applications where loads weren't
quite enough to beat the decay behaviour. Yeah I know this is at the
risk of filling code cache but code cache occupancy is something that I
regularly recommend people monitor for (check my VisualVM memory pool
plug-in). In fact, I just tuned an app where I used -Xcomp to estimate
how big the code cache needed to be to avoid filling it. Production
settings had decay turned off. So, I can't say your wrong and I
generally don't like fiddling with these setting but I will if I have to
and I've had to in a number of instances where ensuring a compile beat
leaving it alone.

Regards,
Kirk

Reply via email to