daniellansun commented on PR #2852:
URL: https://github.com/apache/groovy/pull/2852#issuecomment-5517312884

   @blackdrag You are right that 100 was aggressive next to a ~10k naïve 
break-even. I had kept it below the indy threshold so a trampoline could appear 
while cold indy was still on `doMethodInvoke`; that undervalued 
`defineHiddenClass`.
   
   We did consider 1k. The default is now **1000** 
(`InvokerFactory.DEFAULT_THRESHOLD`, same order as 
`groovy.indy.optimize.threshold`). Generation still happens only on interned 
`CachedMethod`s that stay on the MOP that long; anything colder never pays the 
define.
   
   On real applications: the numbers we have are still micros 
(`CachedMethod.invoke` in isolation, plus a short megamorphic row). They do not 
stand in for Grails, Gradle, or a long-lived Groovy service. I would not claim 
a wall-clock win there without a workload that keeps the same `MetaClass` 
method table hot. If you have a candidate app bench, I am happy to run 
`disable=true` against the default on it. The kill switch stays for anyone who 
would rather not generate.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to