This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 1a5d8b518b fix jmh tests (minor tweaks)
1a5d8b518b is described below

commit 1a5d8b518ba0affbb9a2f482d24621cacdce5c91
Author: Paul King <[email protected]>
AuthorDate: Mon Feb 16 11:12:27 2026 +1000

    fix jmh tests (minor tweaks)
---
 .github/workflows/groovy-build-performance.yml     | 61 ++++++++++++++++++++++
 .../groovy/org.apache.groovy-performance.gradle    |  1 +
 subprojects/performance/README.adoc                |  7 ++-
 3 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/groovy-build-performance.yml 
b/.github/workflows/groovy-build-performance.yml
new file mode 100644
index 0000000000..f9563704be
--- /dev/null
+++ b/.github/workflows/groovy-build-performance.yml
@@ -0,0 +1,61 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Performance check
+
+on: [push, pull_request]
+
+permissions:
+  contents: read
+
+jobs:
+  test:
+    strategy:
+      fail-fast: false
+    runs-on: ubuntu-latest
+    env:
+      DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+    steps:
+      - uses: actions/checkout@v6
+      - uses: actions/setup-java@v5
+        with:
+          distribution: 'zulu'
+          java-version: 21
+          check-latest: true
+      - uses: gradle/actions/setup-gradle@v5
+      - name: Compiler performance comparison
+        run: ./gradlew perf:performanceTests
+        timeout-minutes: 60
+      - name: Upload perf report
+        uses: actions/upload-artifact@v6
+        with:
+          name: perf-reports
+          path: build/*.csv
+      - name: Benchmarks
+        run: ./gradlew perf:jmh
+        timeout-minutes: 60
+      - name: Upload benchmarks report
+        uses: actions/upload-artifact@v6
+        with:
+          name: bench-reports-indy
+          path: build/results/jmh/
+      - name: Benchmarks classic
+        run: ./gradlew perf:jmh -Pindy=false
+        timeout-minutes: 60
+      - name: Upload benchmarks report
+        uses: actions/upload-artifact@v6
+        with:
+          name: bench-reports-classic
+          path: build/results/jmh/
diff --git a/build-logic/src/main/groovy/org.apache.groovy-performance.gradle 
b/build-logic/src/main/groovy/org.apache.groovy-performance.gradle
index 1e0d956166..f7ee36eb52 100644
--- a/build-logic/src/main/groovy/org.apache.groovy-performance.gradle
+++ b/build-logic/src/main/groovy/org.apache.groovy-performance.gradle
@@ -90,6 +90,7 @@ tasks.named('test') {
 
 tasks.named('jmh') {
     inputs.property('benchInclude', project.findProperty('benchInclude') ?: '')
+    inputs.property('indy', project.findProperty('indy') ?: '')
     dependsOn tasks.named('jmhClasses')
 }
 
diff --git a/subprojects/performance/README.adoc 
b/subprojects/performance/README.adoc
index e6e4aa15e5..7023ad418d 100644
--- a/subprojects/performance/README.adoc
+++ b/subprojects/performance/README.adoc
@@ -39,10 +39,9 @@ JMH Benchmarks can be run using:
 
     ./gradlew :perf:jmh
 
-In order to run the benchmarks against InvokeDynamic generated classes use
-the `indy` property:
+Groovy currently defaults to InvokeDynamic generated classes, but to get 
classic callsite generation use the `indy` property:
 
-    ./gradlew -Pindy=true :perf:jmh
+    ./gradlew -Pindy=false :perf:jmh
 
 Groovy and Java sources placed in `src/test` will also be available to the
 benchmarks.
@@ -53,5 +52,5 @@ To run a single benchmark or a matched set of benchmarks, use 
the
     ./gradlew -PbenchInclude=CallsiteBench :perf:jmh
 
 The `benchInclude` property will perform a partial match against package
-names or class names. It is equivalent to `.*${benchInclude}.*`.
+names or class names. It is equivalent to `.\*${benchInclude}.*`.
 

Reply via email to