This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new eb11b2c9e1 add Benchmark (jmh) benchmark result for
9c4df0d6b513ac411bab14fd712b91c158471cc8
eb11b2c9e1 is described below
commit eb11b2c9e160928977ca50f663a5b2f90d7402b0
Author: github-action-benchmark <[email protected]>
AuthorDate: Mon Sep 7 07:13:08 2026 +0000
add Benchmark (jmh) benchmark result for
9c4df0d6b513ac411bab14fd712b91c158471cc8
---
dev/bench/jmh/core-ag/indy/data.js | 456 ++++++++++++++++++++++++++++++++++++-
1 file changed, 455 insertions(+), 1 deletion(-)
diff --git a/dev/bench/jmh/core-ag/indy/data.js
b/dev/bench/jmh/core-ag/indy/data.js
index bfb06c9c7f..79b39c33ba 100644
--- a/dev/bench/jmh/core-ag/indy/data.js
+++ b/dev/bench/jmh/core-ag/indy/data.js
@@ -1,5 +1,5 @@
window.BENCHMARK_DATA = {
- "lastUpdate": 1788678294587,
+ "lastUpdate": 1788765188189,
"repoUrl": "https://github.com/apache/groovy",
"entries": {
"Benchmark": [
@@ -36834,6 +36834,460 @@ window.BENCHMARK_DATA = {
"extra": "iterations: 5\nforks: 2\nthreads: 1"
}
]
+ },
+ {
+ "commit": {
+ "author": {
+ "name": "Paul King",
+ "username": "paulk-asert",
+ "email": "[email protected]"
+ },
+ "committer": {
+ "name": "Paul King",
+ "username": "paulk-asert",
+ "email": "[email protected]"
+ },
+ "id": "9c4df0d6b513ac411bab14fd712b91c158471cc8",
+ "message": "NestedCopyWithSupport: report the closed-domain error
for a Class-valued node\n\nA 'class' head in a nested copyWith path (e.g.
copyWith('address.class.name': x))\nresolves to a java.lang.Class, which
spuriously responds to copyWith via\nstatic-method dispatch, so the guard
passed and the call failed later with a raw\nMissingMethodException instead of
the intended \"outside the supported\nnested-copyWith domain\" message. Exclude
Class values from the guard so the\n [...]
+ "timestamp": "2026-09-07T06:14:06Z",
+ "url":
"https://github.com/apache/groovy/commit/9c4df0d6b513ac411bab14fd712b91c158471cc8"
+ },
+ "date": 1788765183562,
+ "tool": "jmh",
+ "benches": [
+ {
+ "name": "org.apache.groovy.perf.CalibrationBench.allocationChurn",
+ "value": 45.72234703625855,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.CalibrationBench.cpuIntegerOps",
+ "value": 337.464161470076,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.CalibrationBench.memoryPointerChase",
+ "value": 451.4916042080995,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseGenericOverloads",
+ "value": 501.6221308419481,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseHeavyNonGenericOverloads",
+ "value": 1468.5166012456862,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseMixedOverloads",
+ "value": 781.7131376525693,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseNonGenericOverloads",
+ "value": 561.3671717332427,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseSingleNonGeneric",
+ "value": 45.42871097543518,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"dgmHeavy\",\"preemption\":\"active\"} )",
+ "value": 218.77380385888887,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"dgmHeavy\",\"preemption\":\"disabled\"} )",
+ "value": 219.75788148888887,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"instanceHeavy\",\"preemption\":\"active\"} )",
+ "value": 108.97130425178364,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"instanceHeavy\",\"preemption\":\"disabled\"} )",
+ "value": 106.10953108728071,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"withDefault\",\"preemption\":\"active\"} )",
+ "value": 554.279071325,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"withDefault\",\"preemption\":\"disabled\"} )",
+ "value": 531.258865345,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"mergeHeavy\"} )",
+ "value": 101.60185839587352,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"deepHierarchy\"} )",
+ "value": 52.921047566247736,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"polymorphicCollections\"} )",
+ "value": 48.56337109524053,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"staticCompileMerge\"} )",
+ "value": 112.56352746991448,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"exceptionHierarchy\"} )",
+ "value": 115.53468878350277,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"deeplyNestedBranches\"} )",
+ "value": 94.67386553508625,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"largeScaleClass\"} )",
+ "value": 339.9184132336904,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureAsParameter",
+ "value": 19.859969258720636,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureCallMethod",
+ "value": 3.296631635101034,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureComposition",
+ "value": 22.5863689500366,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureDelegation",
+ "value": 32.13913123885929,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureModifyCapture",
+ "value": 2.5529997706461898,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureMultiParams",
+ "value": 6.290443279403307,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureReuse",
+ "value": 3.2853852339675966,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureSpread",
+ "value": 1357.9720367999998,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureTrampoline",
+ "value": 28.2238170317097,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureWithCapture",
+ "value": 4.720665047683895,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.collectWithClosure",
+ "value": 21.17329685872031,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.curriedClosure",
+ "value": 14.033595076784806,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.eachWithClosure",
+ "value": 19.54222202368171,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.findAllWithClosure",
+ "value": 20.242170789525254,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.injectWithClosure",
+ "value": 18.602508745668523,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.methodReference",
+ "value": 73.15415084642856,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.nestedClosures",
+ "value": 30.90240365892517,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.rightCurriedClosure",
+ "value": 14.5243636251349,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClosureBench.simpleClosureCreation",
+ "value": 17.602915644752706,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupArrayHit",
+ "value": 1030.1328448273023,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupByNameAndArgs",
+ "value": 1968.66230886811,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupListHit",
+ "value": 558.4258304331627,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupListMiss",
+ "value": 151.28389848404478,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.DgmMethodLookupBench.lookupMapHit",
+ "value": 186.7104386636794,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupObjectHit",
+ "value": 62.94809708941527,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupObjectMiss",
+ "value": 20.403636103733653,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupPrimitiveArrayHit",
+ "value": 461.2972755909723,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupStringHit",
+ "value": 287.017569875106,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupStringMiss",
+ "value": 225.10620228649196,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.gstringAsMapKey",
+ "value": 155.85616423846156,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GStringBench.multiValueInterpolation",
+ "value": 159.91084519999998,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.repeatedToString",
+ "value": 3.0673415260754524,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.simpleInterpolation",
+ "value": 138.8168310714881,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.stringConcatBaseline",
+ "value": 46.23306183345666,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.asListToSet",
+ "value": 125.11149580882355,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.asStringToInteger",
+ "value": 7.924554808404947,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.asToString",
+ "value": 42.506441055407805,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.collectBaseline",
+ "value": 14.294436448411187,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisEmptyString",
+ "value": 5.699771171197891e-7,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisNonNull",
+ "value": 5.680895775936241e-7,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisNull",
+ "value": 5.657216867150341e-7,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.normalNavBaseline",
+ "value": 3.3582781843120997,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeContains",
+ "value": 50.117372012729476,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeCreation",
+ "value": 5.2283721624269885,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeIteration",
+ "value": 13.12623141027306,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.safeNavNonNull",
+ "value": 4.07322870556512,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.safeNavNull",
+ "value": 6.689811768429556e-7,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.spreadDotMethod",
+ "value": 36.745767858293654,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.spreadDotProperty",
+ "value": 127.06457819999999,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.tapScope",
+ "value": 477.06857084500007,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.withScope",
+ "value": 93.97235452574816,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ }
+ ]
}
]
}