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 710392c8e3 add Benchmark (jmh) benchmark result for
aa30a6906577f66a707a6522ca67d7a233117b80
710392c8e3 is described below
commit 710392c8e3a0aeff03afe315cc2b5c41dbdeb98e
Author: github-action-benchmark <[email protected]>
AuthorDate: Fri Jul 10 07:46:03 2026 +0000
add Benchmark (jmh) benchmark result for
aa30a6906577f66a707a6522ca67d7a233117b80
---
dev/bench/jmh/grails-ez/classic/data.js | 306 +++++++++++++++++++++++++++++++-
1 file changed, 305 insertions(+), 1 deletion(-)
diff --git a/dev/bench/jmh/grails-ez/classic/data.js
b/dev/bench/jmh/grails-ez/classic/data.js
index ff6188e58e..b850256b17 100644
--- a/dev/bench/jmh/grails-ez/classic/data.js
+++ b/dev/bench/jmh/grails-ez/classic/data.js
@@ -1,5 +1,5 @@
window.BENCHMARK_DATA = {
- "lastUpdate": 1783583103473,
+ "lastUpdate": 1783669563193,
"repoUrl": "https://github.com/apache/groovy",
"entries": {
"Benchmark": [
@@ -17824,6 +17824,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": 1783669561184,
+ "tool": "jmh",
+ "benches": [
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.configurationDsl",
+ "value": 361.56124196666667,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.controllerActionDuringMetaclassChurn",
+ "value": 337.65461735,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.controllerActionPattern",
+ "value": 304.7368980857143,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.domainValidationCycle",
+ "value": 123.11979932352942,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.dynamicPropertyByName",
+ "value": 38.86526726692598,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.dynamicPropertyDuringMetaclassChurn",
+ "value": 38.951811601627824,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.fullRequestCycleDuringMetaclassChurn",
+ "value": 78.35856026153847,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.fullRequestCycleSimulation",
+ "value": 97.68970117142855,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.markupBuilderPattern",
+ "value": 221.48761706111114,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.serviceChainCreateAndList",
+ "value": 216.46859735444446,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsLikePatternsBench.serviceChainWithCollections",
+ "value": 34.02178555107345,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineCollectionClosureChain",
+ "value": 229.04528210555554,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineDynamicPropertyByName",
+ "value": 17.846688629824488,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineFullAnalysis",
+ "value": 0.05371302002293932,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineGStringInterpolation",
+ "value": 7.508203805025319,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineNestedClosureDelegation",
+ "value": 41.732240789135545,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineProjectMetrics",
+ "value": 17.282394549816054,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.baselineSpreadOperator",
+ "value": 280.86048738095235,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.collectionClosureChainWithInvalidation",
+ "value": 229.11840193333333,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.dynamicPropertyByNameWithInvalidation",
+ "value": 24.964945397376546,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.fullAnalysisWithInvalidation",
+ "value": 0.06026680315145675,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.gstringInterpolationWithInvalidation",
+ "value": 9.181145658762023,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.nestedClosureDelegationWithInvalidation",
+ "value": 40.86306642833534,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.projectMetricsWithInvalidation",
+ "value": 18.70344310099417,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.GrailsWorkloadBench.spreadOperatorWithInvalidation",
+ "value": 335.7762600142857,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.allocationChurn",
+ "value": 58.2198222033602,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.cpuIntegerOps",
+ "value": 422.86786295809475,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.HostCalibrationBench.memoryPointerChase",
+ "value": 569.3487144095027,
+ "unit": "us/op",
+ "extra": "iterations: 3\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineClosureDispatchNoChanges",
+ "value": 4.433385293014139,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineMultiClassNoChanges",
+ "value": 3.9128301153241076,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselineNoMetaclassChanges",
+ "value": 1.0888309420443165,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.baselinePropertyAccessNoChanges",
+ "value": 17.7074569232574,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.burstThenSteadyState",
+ "value": 2.0056973730219343,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.closureDispatchDuringMetaclassChurn",
+ "value": 15.330590705757174,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.expandoMethodAddition",
+ "value": 12.512374005944128,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.frequentExpandoChanges",
+ "value": 15.215363488558054,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.metaclassReplacement",
+ "value": 5.266582928147884,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.multiClassMetaclassChurn",
+ "value": 35.0979503354507,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassChangeBench.propertyAccessDuringMetaclassChurn",
+ "value": 30.05145215925063,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.baselineMultiClassNoStartup",
+ "value": 11.15522572182524,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.baselineSharedMetaclass",
+ "value": 8.647374522475232,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.dynamicFinderCalls",
+ "value": 6.815887610025288,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.mixedCompiledAndDynamicFinders",
+ "value": 5.647217351042498,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.multiClassStartupThenSteadyState",
+ "value": 14.988727031699133,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceInjectedMethodCalls",
+ "value": 57.22012158246031,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceMetaclass",
+ "value": 22.02110724163489,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ },
+ {
+ "name":
"org.apache.groovy.perf.grails.MetaclassVariationBench.perInstanceWithOngoingChurn",
+ "value": 46.04847901136363,
+ "unit": "ms/op",
+ "extra": "iterations: 5\nforks: 2\nthreads: 1"
+ }
+ ]
}
]
}