CounterDecay is new to me...am I reading the code right when I get
that it basically decays compiled code over time, eventually forcing a
reprofile and recompile of steady-state code?

I know there's a SmallTalk impl onindy doing something
similar...periodically, all call sites are flushed and allowed to
rebuild. It's an interesting pattern, but I think you'd eventually
want to decay the decay and stop doing it, eh?

It looks like you can turn it off at least... -XX:-UseCounterDecay

- Charlie

On Sat, Dec 17, 2011 at 2:18 PM, Kirk <kirk.pepperd...@gmail.com> wrote:
> Slightly off topic but... since inlining was mentioned.... One of the 
> problems I've encountered with low latency applications are luke warm methods 
> running in less busy installations. These can result in response that often 
> slower by a factor 5x or greater than installations that are busier. In call 
> cases this tracked to CounterDecay. Solution was to either flash the server 
> to pop the counters or simply turn off counter decay. Azul doesn't use 
> counter decay and I'm wondering if people have considered simply pulling it 
> out or turning it off by default?
>
> Regards,
> Kirk
>
> On Dec 17, 2011, at 9:04 PM, Charles Oliver Nutter wrote:
>
>> On Sat, Dec 17, 2011 at 1:10 PM, Rémi Forax <fo...@univ-mlv.fr> wrote:
>>> So there is a bug in the way the inlining budget is computed.
>>> The pattern doesn't use any side methods is the fast path,
>>> only method handle adapters so it should not entail the
>>> inlining budget at all.
>>>
>>> I've only tested on small examples, so it was always fully inlined
>>> but I think it worth investigating why there is a problem with
>>> the inlining budget.
>>
>> In my case, I believe Christian determined it was an inlining issue.
>> When I added this pattern into all compiled Ruby code, it bumped up
>> some budget to the point that hot paths stopped inlining. I suspected
>> that it might be NodeCountInlinigCutoff, which currently does not
>> discount MH chains, and Christian said that was indeed possible.
>>
>> The other half of the bug is that when indy + MH chain does not
>> inline, performance is *dismal*. I believe John's upcoming rework of
>> the inlining logic is supposed to fix both issues.
>>
>>> Or it's not an inlining budget problem, the other problem I see
>>> is that if the code is not yet JITed, it's slow, far slower than
>>> a field access even a volatile one, so if the method is not hot
>>> but only warm, you may have trouble.
>>
>> That's certainly true. I doubt it affects most code, though, since if
>> it's hot enough for you to notice that it's slow, it's probably hot
>> enough to JIT.
>>
>> - Charlie
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "JVM Languages" group.
>> To post to this group, send email to jvm-languages@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> jvm-languages+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/jvm-languages?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "JVM Languages" group.
> To post to this group, send email to jvm-languages@googlegroups.com.
> To unsubscribe from this group, send email to 
> jvm-languages+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/jvm-languages?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to jvm-languages@googlegroups.com.
To unsubscribe from this group, send email to 
jvm-languages+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to