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 a6feb418e3 add Benchmark (jmh) benchmark result for
aa30a6906577f66a707a6522ca67d7a233117b80
a6feb418e3 is described below
commit a6feb418e3cfd3a7679e4c8ab58de1385d9ad4b8
Author: github-action-benchmark <[email protected]>
AuthorDate: Thu Jul 9 07:47:41 2026 +0000
add Benchmark (jmh) benchmark result for
aa30a6906577f66a707a6522ca67d7a233117b80
---
dev/bench/jmh/grails-ez/indy/data.js | 306 ++++++++++++++++++++++++++++++++++-
1 file changed, 305 insertions(+), 1 deletion(-)
diff --git a/dev/bench/jmh/grails-ez/indy/data.js
b/dev/bench/jmh/grails-ez/indy/data.js
index 196a572f08..978152c329 100644
--- a/dev/bench/jmh/grails-ez/indy/data.js
+++ b/dev/bench/jmh/grails-ez/indy/data.js
@@ -1,5 +1,5 @@
window.BENCHMARK_DATA = {
- "lastUpdate": 1783495478173,
+ "lastUpdate": 1783583261538,
"repoUrl": "https://github.com/apache/groovy",
"entries": {
"Benchmark": [
@@ -17520,6 +17520,310 @@ 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": "aa30a6906577f66a707a6522ca67d7a233117b80",
+ "message": "Close per-test GroovyClassLoader in contracts
BaseTestClass\n\nBaseTestClass created a GroovyClassLoader in @BeforeEach but
never closed it,\nso every contracts test that extended it leaked a loader. Add
an @AfterEach\nthat closes the loader, mirroring StubTestCase.",
+ "timestamp": "2026-07-09T03:36:46Z",
+ "url":
"https://github.com/apache/groovy/commit/aa30a6906577f66a707a6522ca67d7a233117b80"
+ },
+ "date": 1783583259326,
+ "tool": "jmh",
+ "benches": [
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.configurationDsl",
+ "value": 406.09956664,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.controllerActionDuringMetaclassChurn",
+ "value": 5724.0978457,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.controllerActionPattern",
+ "value": 396.1344896433334,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.domainValidationCycle",
+ "value": 144.1851430669231,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.dynamicPropertyByName",
+ "value": 33.27785295291329,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.dynamicPropertyDuringMetaclassChurn",
+ "value": 543.4830264,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.fullRequestCycleDuringMetaclassChurn",
+ "value": 901.9775949000001,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.fullRequestCycleSimulation",
+ "value": 133.26836121198528,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.markupBuilderPattern",
+ "value": 243.7711864111111,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.serviceChainCreateAndList",
+ "value": 283.8135446446429,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.serviceChainWithCollections",
+ "value": 34.49064979754231,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineCollectionClosureChain",
+ "value": 292.13521026984125,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineDynamicPropertyByName",
+ "value": 16.672125489808835,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineFullAnalysis",
+ "value": 0.044590601100132674,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineGStringInterpolation",
+ "value": 7.437456812017913,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineNestedClosureDelegation",
+ "value": 93.09170186125542,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineProjectMetrics",
+ "value": 15.350104605483583,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineSpreadOperator",
+ "value": 297.0706542714286,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.collectionClosureChainWithInvalidation",
+ "value": 1788.6674644,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.dynamicPropertyByNameWithInvalidation",
+ "value": 288.8615874303572,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.fullAnalysisWithInvalidation",
+ "value": 0.366603833846339,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.gstringInterpolationWithInvalidation",
+ "value": 50.35242709842714,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.nestedClosureDelegationWithInvalidation",
+ "value": 268.40910849999995,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.projectMetricsWithInvalidation",
+ "value": 179.55959713939393,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.spreadOperatorWithInvalidation",
+ "value": 333.37962025,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.allocationChurn",
+ "value": 53.41197755658496,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.cpuIntegerOps",
+ "value": 374.2271688893732,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.memoryPointerChase",
+ "value": 1004.1569015322499,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineClosureDispatchNoChanges",
+ "value": 0.428069630216579,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineMultiClassNoChanges",
+ "value": 1.7831809414181277,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineNoMetaclassChanges",
+ "value": 0.4091829228527518,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselinePropertyAccessNoChanges",
+ "value": 14.937210964464901,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.burstThenSteadyState",
+ "value": 51.18847414049174,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.closureDispatchDuringMetaclassChurn",
+ "value": 333.76507149047626,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.expandoMethodAddition",
+ "value": 316.20454321904765,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.frequentExpandoChanges",
+ "value": 105.4149730513158,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.metaclassReplacement",
+ "value": 300.6018557065476,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.multiClassMetaclassChurn",
+ "value": 650.943256625,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.propertyAccessDuringMetaclassChurn",
+ "value": 294.5700579446428,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.baselineMultiClassNoStartup",
+ "value": 2.056891906324029,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.baselineSharedMetaclass",
+ "value": 1.3752330112271793,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.dynamicFinderCalls",
+ "value": 90.18189345586363,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.mixedCompiledAndDynamicFinders",
+ "value": 123.38156892117902,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.multiClassStartupThenSteadyState",
+ "value": 221.66305606111115,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceInjectedMethodCalls",
+ "value": 795.0300751666666,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceMetaclass",
+ "value": 490.38105145500003,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceWithOngoingChurn",
+ "value": 1124.1546397500001,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ }
+ ]
}
]
}