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 cb43116b3f add Benchmark (jmh) benchmark result for
9c4df0d6b513ac411bab14fd712b91c158471cc8
cb43116b3f is described below
commit cb43116b3f511c0af8652d69efe9057ec09ffbc5
Author: github-action-benchmark <[email protected]>
AuthorDate: Mon Sep 7 07:13:52 2026 +0000
add Benchmark (jmh) benchmark result for
9c4df0d6b513ac411bab14fd712b91c158471cc8
---
dev/bench/jmh/core-ag/classic/data.js | 456 +++++++++++++++++++++++++++++++++-
1 file changed, 455 insertions(+), 1 deletion(-)
diff --git a/dev/bench/jmh/core-ag/classic/data.js
b/dev/bench/jmh/core-ag/classic/data.js
index 588572af4e..1fa1138956 100644
--- a/dev/bench/jmh/core-ag/classic/data.js
+++ b/dev/bench/jmh/core-ag/classic/data.js
@@ -1,5 +1,5 @@
window.BENCHMARK_DATA = {
- "lastUpdate": 1788678281146,
+ "lastUpdate": 1788765232662,
"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": 1788765229732,
+ "tool": "jmh",
+ "benches": [
+ {
+ "name": "org.apache.groovy.perf.CalibrationBench.allocationChurn",
+ "value": 54.389814658951195,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.CalibrationBench.cpuIntegerOps",
+ "value": 374.2569340563205,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.CalibrationBench.memoryPointerChase",
+ "value": 1024.8629397584182,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseGenericOverloads",
+ "value": 677.6231880775515,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseHeavyNonGenericOverloads",
+ "value": 1855.756321781578,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseMixedOverloads",
+ "value": 1064.9243480866046,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseNonGenericOverloads",
+ "value": 633.5571604032169,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ChooseBestMethodBench.chooseSingleNonGeneric",
+ "value": 54.701337258567676,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"dgmHeavy\",\"preemption\":\"active\"} )",
+ "value": 292.3195273892857,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"dgmHeavy\",\"preemption\":\"disabled\"} )",
+ "value": 285.2406699255952,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"instanceHeavy\",\"preemption\":\"active\"} )",
+ "value": 125.36539422757353,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"instanceHeavy\",\"preemption\":\"disabled\"} )",
+ "value": 120.2151249209559,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"withDefault\",\"preemption\":\"active\"} )",
+ "value": 737.0177044666666,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassTagResolutionBench.compileCorpus (
{\"mix\":\"withDefault\",\"preemption\":\"disabled\"} )",
+ "value": 653.7237556666666,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"mergeHeavy\"} )",
+ "value": 144.92776478837092,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"deepHierarchy\"} )",
+ "value": 74.3033543437307,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"polymorphicCollections\"} )",
+ "value": 68.87439105569175,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"staticCompileMerge\"} )",
+ "value": 159.88938313229946,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"exceptionHierarchy\"} )",
+ "value": 153.9029870470672,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"deeplyNestedBranches\"} )",
+ "value": 131.47850302997455,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClassWriterBytecodeGenBench.compileBytecode (
{\"scenario\":\"largeScaleClass\"} )",
+ "value": 464.50466299166663,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureAsParameter",
+ "value": 68.84934075288018,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureCallMethod",
+ "value": 40.470171968,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureComposition",
+ "value": 48.64620811962834,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureDelegation",
+ "value": 63.45265128895636,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureModifyCapture",
+ "value": 23.774560116372548,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureMultiParams",
+ "value": 62.75635794763258,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureReuse",
+ "value": 40.92299146387755,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureSpread",
+ "value": 94.30224589090909,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureTrampoline",
+ "value": 57.009925877380944,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.closureWithCapture",
+ "value": 40.89080862338776,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.collectWithClosure",
+ "value": 39.61149294692307,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.curriedClosure",
+ "value": 30.59452102878788,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.eachWithClosure",
+ "value": 106.71703108578947,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.findAllWithClosure",
+ "value": 25.229424559818494,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.injectWithClosure",
+ "value": 35.73429374326441,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.methodReference",
+ "value": 92.80096465909092,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.nestedClosures",
+ "value": 98.4134032095238,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.ClosureBench.rightCurriedClosure",
+ "value": 31.525314688257783,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.ClosureBench.simpleClosureCreation",
+ "value": 58.04452596857144,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupArrayHit",
+ "value": 1275.048092052691,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupByNameAndArgs",
+ "value": 2402.5604076580958,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupListHit",
+ "value": 685.7476168902816,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupListMiss",
+ "value": 180.64625705101554,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.DgmMethodLookupBench.lookupMapHit",
+ "value": 208.45756297178804,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupObjectHit",
+ "value": 71.10443386923963,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupObjectMiss",
+ "value": 25.148287555399033,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupPrimitiveArrayHit",
+ "value": 536.4980521697862,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupStringHit",
+ "value": 355.5204419664984,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.DgmMethodLookupBench.lookupStringMiss",
+ "value": 285.0919437509605,
+ "unit": "ns/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.gstringAsMapKey",
+ "value": 205.33765957,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GStringBench.multiValueInterpolation",
+ "value": 199.03070400181818,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.repeatedToString",
+ "value": 10.489673972155868,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.simpleInterpolation",
+ "value": 171.77328181666667,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GStringBench.stringConcatBaseline",
+ "value": 74.64485636362436,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.asListToSet",
+ "value": 188.48713659999999,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.asStringToInteger",
+ "value": 63.275168875,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.asToString",
+ "value": 103.8299985094737,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.collectBaseline",
+ "value": 24.23098775604651,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisEmptyString",
+ "value": 43.81491829130435,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisNonNull",
+ "value": 45.73533675839954,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.elvisNull",
+ "value": 7.618702131017399,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.normalNavBaseline",
+ "value": 20.451122797948557,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeContains",
+ "value": 57.47160935999999,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeCreation",
+ "value": 8.787301841141916,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.rangeIteration",
+ "value": 103.92245950877194,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.safeNavNonNull",
+ "value": 58.01824096571429,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.safeNavNull",
+ "value": 9.450706892685272,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.spreadDotMethod",
+ "value": 40.28549852864987,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.GroovyIdiomBench.spreadDotProperty",
+ "value": 149.92004625714284,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.tapScope",
+ "value": 635.039335275,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name": "org.apache.groovy.perf.GroovyIdiomBench.withScope",
+ "value": 149.6760780857143,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ }
+ ]
}
]
}