jamesfredley opened a new pull request, #2381:
URL: https://github.com/apache/groovy/pull/2381

   https://issues.apache.org/jira/browse/GROOVY-10307
   
   Adds 7 JMH benchmark files to the `performance` subproject covering common 
Groovy patterns exercised through invokedynamic. These benchmarks complement 
the existing `org.apache.groovy.bench` suite (Ackermann, Ary, Fibo, 
GeneratedHashCode, Callsite) by focusing on Groovy-specific language features.
   
   Run with: `./gradlew perf:jmh -PbenchInclude=perf`
   
   ## Benchmark Files
   
   | File | Benchmarks | Coverage |
   |------|-----------|----------|
   | `ClosureBench` | 19 | Creation, reuse, multi-param, capture, delegation, 
nesting, method-ref, curry/rcurry, composition, spread, trampoline, 
each/collect/findAll/inject |
   | `LoopsBench` | 5 | Closure-in-loop vs method-in-loop, nested iteration, 
call site caching |
   | `MethodInvocationBench` | 9 | Instance, static, parameterized, overloaded, 
monomorphic/polymorphic call sites, interface dispatch, dynamic-typed |
   | `GStringBench` | 5 | Simple/multi-value interpolation, string-concat 
baseline, map-key usage, repeated toString |
   | `PropertyAccessBench` | 6 | Field read/write, getter/setter, 
dynamic-typed, map bracket/dot-property, chained access |
   | `OperatorBench` | 13 | Arithmetic, BigDecimal, string multiply, list/map 
getAt/putAt, left-shift, equals, spaceship, comparison, unary minus, 
in-operator |
   | `GroovyIdiomBench` | 17 | Safe navigation (?.), spread-dot (*.), elvis 
(?:), with/tap, range creation/iteration/contains, as-coercion |
   
   **74 benchmarks total**, all using proper `Blackhole` consumption to prevent 
dead-code elimination.


-- 
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