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]
