testlens-app[bot] commented on PR #16071:
URL: https://github.com/apache/grails-core/pull/16071#issuecomment-5158683276

   ## 🚨 TestLens detected 6 failed tests 🚨
   
   Here is what you can do:
   
   1) Inspect the test failures carefully.
   2) If you are convinced that some of the tests are flaky, you can mute them 
below.
   3) Finally, trigger a rerun by checking the rerun checkbox.
   
   ### Test Summary
   
   #### [CI / Build Grails-Core \(windows-latest, 
25\)](https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071)
 > :grails-benchmarks:test
   
   | Test | Runs | Flakiness |
   |---|---|--:|
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > broad report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > edges report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > headonly report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > norulers report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > numbers report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   | GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file > shards report exactly matches the Python golden file | ❌ | 
0%&nbsp;🟢 |
   
   🏷️ Commit: e510a627a1beaeae6d16c5d26e53407d4daaf1be
   ▶️ Tests:  13275 executed
   🟡 Checks: 26/56 completed
   
   ### Test Failures
   
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > broad report exactly matches the Python golden 
file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-broad.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 1
   |     |          |       |  **Improvements:** 2
   |     |          |       |  **Runner health:** worst ruler deviation: 12.4% 
in anonymous shard (CpuRulerBenchmark.integerArithmetic)
   |     |          |       |  Ruler benchmarks are excluded from verdicts and 
group summaries; runner health is a stability check, not a calibration factor.
   |     |          |       |  **Ruler movements:** anonymous shard: 
CpuRulerBenchmark.integerArithmetic: 1.12x, anonymous shard: 
MemoryRulerBenchmark.allocateAndCopyArray: 0.93x
   |     |          |       |   
   |     |          |       |  > **Warning:** The runner was unstable BETWEEN 
the two halves of the A/B run. Treat results as unreliable. Runner health is a 
stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  Group geometric means are descriptive only, not 
verdicts.
   |     |          |       |   
   |     |          |       |  | Group | Descriptive geomean speedup | n |
   |     |          |       |  | --- | ---: | ---: |
   |     |          |       |  | databinding | 0.94x | 1 |
   |     |          |       |  | gsp | 1.00x | 1 |
   |     |          |       |  | throughput | 1.20x | 1 |
   |     |          |       |  | urlmappings | 0.69x | 2 |
   |     |          |       |  | views | 2.00x | 1 |
   |     |          |       |   
   |     |          |       |  <details>
   |     |          |       |  <summary>Per-benchmark results</summary>
   |     |          |       |   
   |     |          |       |  | Benchmark | Base score | Head score | Speedup 
| Verdict | Allocation delta (ADVISORY) |
   |     |          |       |  | --- | ---: | ---: | ---: | --- | ---: |
   |     |          |       |  | 
urlmappings.UrlMappingsBenchmark.matchWarmCache | 4.07 ns/op | 8.77 ns/op | 
0.46x | REGRESSED | ~0 B/op |
   |     |          |       |  | throughput.Ops.run | 100 ops/s | 120 ops/s | 
1.20x | IMPROVED | — |
   |     |          |       |  | 
views.ViewTemplateRenderingBenchmark.renderJsonTemplate | 0.92 ns/op | 0.46 
ns/op | 2.00x | IMPROVED | +17 B/op (+17.0%) **candidate** |
   |     |          |       |  | 
databinding.SimpleDataBinderBenchmark.bindFlatMap | 1.72e+04 ns/op | 1.83e+04 
ns/op | 0.94x | no clear change | +17 B/op (+1.7%) |
   |     |          |       |  | 
gsp.GroovyPageParserBenchmark.parseSmallTemplate | 9.98e+03 ns/op | 9.94e+03 
ns/op | 1.00x | no clear change | ~0 B/op |
   |     |          |       |  | ruler.CpuRulerBenchmark.integerArithmetic | 
100 ns/op | 89 ns/op | 1.12x | ruler - excluded | — |
   |     |          |       |  | 
ruler.MemoryRulerBenchmark.allocateAndCopyArray | 100 ns/op | 108 ns/op | 0.93x 
| ruler - excluded | — |
   |     |          |       |  | 
urlmappings.UrlMappingsBenchmark.matchColdVariedKeys | 818 ns/op | 802 ns/op | 
1.02x | no clear change | +10 B/op (+1.0%) |
   |     |          |       |   
   |     |          |       |  </details>
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_broad_report_exactl_0_temporaryDirectory17241353759838329739\broad.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 1
   |     **Improvements:** 2
   |     **Runner health:** worst ruler deviation: 12.4% in anonymous shard 
(CpuRulerBenchmark.integerArithmetic)
   |     Ruler benchmarks are excluded from verdicts and group summaries; 
runner health is a stability check, not a calibration factor.
   |     **Ruler movements:** anonymous shard: 
CpuRulerBenchmark.integerArithmetic: 1.12x, anonymous shard: 
MemoryRulerBenchmark.allocateAndCopyArray: 0.93x
   |      
   |     > **Warning:** The runner was unstable BETWEEN the two halves of the 
A/B run. Treat results as unreliable. Runner health is a stability check, not a 
calibration factor.
   |      
   |     Group geometric means are descriptive only, not verdicts.
   |      
   |     | Group | Descriptive geomean speedup | n |
   |     | --- | ---: | ---: |
   |     | databinding | 0.94x | 1 |
   |     | gsp | 1.00x | 1 |
   |     | throughput | 1.20x | 1 |
   |     | urlmappings | 0.69x | 2 |
   |     | views | 2.00x | 1 |
   |      
   |     <details>
   |     <summary>Per-benchmark results</summary>
   |      
   |     | Benchmark | Base score | Head score | Speedup | Verdict | Allocation 
delta (ADVISORY) |
   |     | --- | ---: | ---: | ---: | --- | ---: |
   |     | urlmappings.UrlMappingsBenchmark.matchWarmCache | 4.07 ns/op | 8.77 
ns/op | 0.46x | REGRESSED | ~0 B/op |
   |     | throughput.Ops.run | 100 ops/s | 120 ops/s | 1.20x | IMPROVED | — |
   |     | views.ViewTemplateRenderingBenchmark.renderJsonTemplate | 0.92 ns/op 
| 0.46 ns/op | 2.00x | IMPROVED | +17 B/op (+17.0%) **candidate** |
   |     | databinding.SimpleDataBinderBenchmark.bindFlatMap | 1.72e+04 ns/op | 
1.83e+04 ns/op | 0.94x | no clear change | +17 B/op (+1.7%) |
   |     | gsp.GroovyPageParserBenchmark.parseSmallTemplate | 9.98e+03 ns/op | 
9.94e+03 ns/op | 1.00x | no clear change | ~0 B/op |
   |     | ruler.CpuRulerBenchmark.integerArithmetic | 100 ns/op | 89 ns/op | 
1.12x | ruler - excluded | — |
   |     | ruler.MemoryRulerBenchmark.allocateAndCopyArray | 100 ns/op | 108 
ns/op | 0.93x | ruler - excluded | — |
   |     | urlmappings.UrlMappingsBenchmark.matchColdVariedKeys | 818 ns/op | 
802 ns/op | 1.02x | no clear change | +10 B/op (+1.0%) |
   |      
   |     </details>
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 1|\*\*Regressions:\*\* 1|
   |\*\*Improvements:\*\* 2|\*\*Improvements:\*\* 2|
   |\*\*Runner health:\*\* worst ruler deviation: 12.4\% in anonymous shard 
\(CpuRulerBenchmark.integerArithmetic\)|\*\*Runner health:\*\* worst ruler 
deviation: 12.4\% in anonymous shard \(CpuRulerBenchmark.integerArithmetic\)|
   |Ruler benchmarks are excluded from verdicts and group summaries; runner 
health is a stability check, not a calibration factor.|Ruler benchmarks are 
excluded from verdicts and group summaries; runner health is a stability check, 
not a calibration factor.|
   |\*\*Ruler movements:\*\* anonymous shard: 
CpuRulerBenchmark.integerArithmetic: 1.12x, anonymous shard: 
MemoryRulerBenchmark.allocateAndCopyArray: 0.93x|\*\*Ruler movements:\*\* 
anonymous shard: CpuRulerBenchmark.integerArithmetic: 1.12x, anonymous shard: 
MemoryRulerBenchmark.allocateAndCopyArray: 0.93x|
   |||
   |\> \*\*Warning:\*\* The runner was unstable BETWEEN the two halves of the 
A/B run. Treat results as unreliable. Runner health is a stability check, not a 
calibration factor.|\> \*\*Warning:\*\* The runner was unstable BETWEEN the two 
halves of the A/B run. Treat results as unreliable. Runner health is a 
stability check, not a calibration factor.|
   |||
   |Group geometric means are descriptive only, not verdicts.|Group geometric 
means are descriptive only, not verdicts.|
   |||
   |\| Group \| Descriptive geomean speedup \| n \||\| Group \| Descriptive 
geomean speedup \| n \||
   |\| --- \| ---: \| ---: \||\| --- \| ---: \| ---: \||
   |\| databinding \| 0.94x \| 1 \||\| databinding \| 0.94x \| 1 \||
   |\| gsp \| 1.00x \| 1 \||\| gsp \| 1.00x \| 1 \||
   |\| throughput \| 1.20x \| 1 \||\| throughput \| 1.20x \| 1 \||
   |\| urlmappings \| 0.69x \| 2 \||\| urlmappings \| 0.69x \| 2 \||
   |\| views \| 2.00x \| 1 \||\| views \| 2.00x \| 1 \||
   |||
   |\<details\>|\<details\>|
   |\<summary\>Per-benchmark results\</summary\>|\<summary\>Per-benchmark 
results\</summary\>|
   |||
   |\| Benchmark \| Base score \| Head score \| Speedup \| Verdict \| 
Allocation delta \(ADVISORY\) \||\| Benchmark \| Base score \| Head score \| 
Speedup \| Verdict \| Allocation delta \(ADVISORY\) \||
   |\| --- \| ---: \| ---: \| ---: \| --- \| ---: \||\| --- \| ---: \| ---: \| 
---: \| --- \| ---: \||
   |\| urlmappings.UrlMappingsBenchmark.matchWarmCache \| 4.07 ns/op \| 8.77 
ns/op \| 0.46x \| REGRESSED \| \~0 B/op \||\| 
urlmappings.UrlMappingsBenchmark.matchWarmCache \| 4.07 ns/op \| 8.77 ns/op \| 
0.46x \| REGRESSED \| \~0 B/op \||
   |\| throughput.Ops.run \| 100 ops/s \| 120 ops/s \| 1.20x \| IMPROVED \| — 
\||\| throughput.Ops.run \| 100 ops/s \| 120 ops/s \| 1.20x \| IMPROVED \| — \||
   |\| views.ViewTemplateRenderingBenchmark.renderJsonTemplate \| 0.92 ns/op \| 
0.46 ns/op \| 2.00x \| IMPROVED \| \+17 B/op \(\+17.0\%\) \*\*candidate\*\* 
\||\| views.ViewTemplateRenderingBenchmark.renderJsonTemplate \| 0.92 ns/op \| 
0.46 ns/op \| 2.00x \| IMPROVED \| \+17 B/op \(\+17.0\%\) \*\*candidate\*\* \||
   |\| databinding.SimpleDataBinderBenchmark.bindFlatMap \| 1.72e\+04 ns/op \| 
1.83e\+04 ns/op \| 0.94x \| no clear change \| \+17 B/op \(\+1.7\%\) \||\| 
databinding.SimpleDataBinderBenchmark.bindFlatMap \| 1.72e\+04 ns/op \| 
1.83e\+04 ns/op \| 0.94x \| no clear change \| \+17 B/op \(\+1.7\%\) \||
   |\| gsp.GroovyPageParserBenchmark.parseSmallTemplate \| 9.98e\+03 ns/op \| 
9.94e\+03 ns/op \| 1.00x \| no clear change \| \~0 B/op \||\| 
gsp.GroovyPageParserBenchmark.parseSmallTemplate \| 9.98e\+03 ns/op \| 
9.94e\+03 ns/op \| 1.00x \| no clear change \| \~0 B/op \||
   |\| ruler.CpuRulerBenchmark.integerArithmetic \| 100 ns/op \| 89 ns/op \| 
1.12x \| ruler - excluded \| — \||\| ruler.CpuRulerBenchmark.integerArithmetic 
\| 100 ns/op \| 89 ns/op \| 1.12x \| ruler - excluded \| — \||
   |\| ruler.MemoryRulerBenchmark.allocateAndCopyArray \| 100 ns/op \| 108 
ns/op \| 0.93x \| ruler - excluded \| — \||\| 
ruler.MemoryRulerBenchmark.allocateAndCopyArray \| 100 ns/op \| 108 ns/op \| 
0.93x \| ruler - excluded \| — \||
   |\| urlmappings.UrlMappingsBenchmark.matchColdVariedKeys \| 818 ns/op \| 802 
ns/op \| 1.02x \| no clear change \| \+10 B/op \(\+1.0\%\) \||\| 
urlmappings.UrlMappingsBenchmark.matchColdVariedKeys \| 818 ns/op \| 802 ns/op 
\| 1.02x \| no clear change \| \+10 B/op \(\+1.0\%\) \||
   |||
   |\</details\>|\</details\>|
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > edges report exactly matches the Python golden 
file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-edges.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 0
   |     |          |       |  **Improvements:** 1
   |     |          |       |  **Runner health:** not measured
   |     |          |       |  Ruler benchmarks are excluded from verdicts and 
group summaries; runner health is a stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  Group geometric means are descriptive only, not 
verdicts.
   |     |          |       |   
   |     |          |       |  | Group | Descriptive geomean speedup | n |
   |     |          |       |  | --- | ---: | ---: |
   |     |          |       |  | e | 0.89x | 3 |
   |     |          |       |  | feature | 1.25x | 1 |
   |     |          |       |  | sample | 1.00x | 3 |
   |     |          |       |   
   |     |          |       |  <details>
   |     |          |       |  <summary>Per-benchmark results</summary>
   |     |          |       |   
   |     |          |       |  | Benchmark | Base score | Head score | Speedup 
| Verdict | Allocation delta (ADVISORY) |
   |     |          |       |  | --- | ---: | ---: | ---: | --- | ---: |
   |     |          |       |  | feature.Subject.runlabel=Ruler | 100 ns/op | 
80 ns/op | 1.25x | IMPROVED | — |
   |     |          |       |  | e.Insufficient.run | 100 ns/op | 120 ns/op | 
0.83x | insufficient data | — |
   |     |          |       |  | e.NonFinite.run | 100 ns/op | 120 ns/op | 
0.83x | insufficient data | — |
   |     |          |       |  | e.Shared.run | 100 ns/op | 100 ns/op | 1.00x | 
no clear change | — |
   |     |          |       |  | sample.binjected.run | 100 ns/op | 100 ns/op | 
1.00x | no clear change | — |
   |     |          |       |  | sample.Bang.runxy | 100 ns/op | 100 ns/op | 
1.00x | no clear change | — |
   |     |          |       |  | sample.Evil.runlabel=xhttp://example.com | 100 
ns/op | 100 ns/op | 1.00x | no clear change | — |
   |     |          |       |   
   |     |          |       |  </details>
   |     |          |       |   
   |     |          |       |  **Dropped unpaired shard samples (2):** 
e.BaseOnly.run, e.HeadOnly.run
   |     |          |       |   
   |     |          |       |  **Malformed comparisons skipped:** 3
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_edges_report_exactl_2_temporaryDirectory9150001334869807736\edges.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 0
   |     **Improvements:** 1
   |     **Runner health:** not measured
   |     Ruler benchmarks are excluded from verdicts and group summaries; 
runner health is a stability check, not a calibration factor.
   |      
   |     Group geometric means are descriptive only, not verdicts.
   |      
   |     | Group | Descriptive geomean speedup | n |
   |     | --- | ---: | ---: |
   |     | e | 0.89x | 3 |
   |     | feature | 1.25x | 1 |
   |     | sample | 1.00x | 3 |
   |      
   |     <details>
   |     <summary>Per-benchmark results</summary>
   |      
   |     | Benchmark | Base score | Head score | Speedup | Verdict | Allocation 
delta (ADVISORY) |
   |     | --- | ---: | ---: | ---: | --- | ---: |
   |     | feature.Subject.runlabel=Ruler | 100 ns/op | 80 ns/op | 1.25x | 
IMPROVED | — |
   |     | e.Insufficient.run | 100 ns/op | 120 ns/op | 0.83x | insufficient 
data | — |
   |     | e.NonFinite.run | 100 ns/op | 120 ns/op | 0.83x | insufficient data 
| — |
   |     | e.Shared.run | 100 ns/op | 100 ns/op | 1.00x | no clear change | — |
   |     | sample.binjected.run | 100 ns/op | 100 ns/op | 1.00x | no clear 
change | — |
   |     | sample.Bang.runxy | 100 ns/op | 100 ns/op | 1.00x | no clear change 
| — |
   |     | sample.Evil.runlabel=xhttp://example.com | 100 ns/op | 100 ns/op | 
1.00x | no clear change | — |
   |      
   |     </details>
   |      
   |     **Dropped unpaired shard samples (2):** e.BaseOnly.run, e.HeadOnly.run
   |      
   |     **Malformed comparisons skipped:** 3
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 0|\*\*Regressions:\*\* 0|
   |\*\*Improvements:\*\* 1|\*\*Improvements:\*\* 1|
   |\*\*Runner health:\*\* not measured|\*\*Runner health:\*\* not measured|
   |Ruler benchmarks are excluded from verdicts and group summaries; runner 
health is a stability check, not a calibration factor.|Ruler benchmarks are 
excluded from verdicts and group summaries; runner health is a stability check, 
not a calibration factor.|
   |||
   |Group geometric means are descriptive only, not verdicts.|Group geometric 
means are descriptive only, not verdicts.|
   |||
   |\| Group \| Descriptive geomean speedup \| n \||\| Group \| Descriptive 
geomean speedup \| n \||
   |\| --- \| ---: \| ---: \||\| --- \| ---: \| ---: \||
   |\| e \| 0.89x \| 3 \||\| e \| 0.89x \| 3 \||
   |\| feature \| 1.25x \| 1 \||\| feature \| 1.25x \| 1 \||
   |\| sample \| 1.00x \| 3 \||\| sample \| 1.00x \| 3 \||
   |||
   |\<details\>|\<details\>|
   |\<summary\>Per-benchmark results\</summary\>|\<summary\>Per-benchmark 
results\</summary\>|
   |||
   |\| Benchmark \| Base score \| Head score \| Speedup \| Verdict \| 
Allocation delta \(ADVISORY\) \||\| Benchmark \| Base score \| Head score \| 
Speedup \| Verdict \| Allocation delta \(ADVISORY\) \||
   |\| --- \| ---: \| ---: \| ---: \| --- \| ---: \||\| --- \| ---: \| ---: \| 
---: \| --- \| ---: \||
   |\| feature.Subject.runlabel\=Ruler \| 100 ns/op \| 80 ns/op \| 1.25x \| 
IMPROVED \| — \||\| feature.Subject.runlabel\=Ruler \| 100 ns/op \| 80 ns/op \| 
1.25x \| IMPROVED \| — \||
   |\| e.Insufficient.run \| 100 ns/op \| 120 ns/op \| 0.83x \| insufficient 
data \| — \||\| e.Insufficient.run \| 100 ns/op \| 120 ns/op \| 0.83x \| 
insufficient data \| — \||
   |\| e.NonFinite.run \| 100 ns/op \| 120 ns/op \| 0.83x \| insufficient data 
\| — \||\| e.NonFinite.run \| 100 ns/op \| 120 ns/op \| 0.83x \| insufficient 
data \| — \||
   |\| e.Shared.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change \| — 
\||\| e.Shared.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change \| — 
\||
   |\| sample.binjected.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear 
change \| — \||\| sample.binjected.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no 
clear change \| — \||
   |\| sample.Bang.runxy \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change 
\| — \||\| sample.Bang.runxy \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear 
change \| — \||
   |\| sample.Evil.runlabel\=xhttp://example.com \| 100 ns/op \| 100 ns/op \| 
1.00x \| no clear change \| — \||\| sample.Evil.runlabel\=xhttp://example.com 
\| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change \| — \||
   |||
   |\</details\>|\</details\>|
   |||
   |\*\*Dropped unpaired shard samples \(2\):\*\* e.BaseOnly.run, 
e.HeadOnly.run|\*\*Dropped unpaired shard samples \(2\):\*\* e.BaseOnly.run, 
e.HeadOnly.run|
   |||
   |\*\*Malformed comparisons skipped:\*\* 3|\*\*Malformed comparisons 
skipped:\*\* 3|
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > headonly report exactly matches the Python 
golden file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-headonly.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 0 (no base)
   |     |          |       |  **Improvements:** 0 (no base)
   |     |          |       |  **Runner health:** not measured (no base)
   |     |          |       |   
   |     |          |       |  No comparison was possible because the base 
revision has no benchmark harness.
   |     |          |       |   
   |     |          |       |  | Benchmark | Head score | Error | Unit |
   |     |          |       |  | --- | ---: | ---: | --- |
   |     |          |       |  | 
databinding.SimpleDataBinderBenchmark.bindFlatMap | 1.83e+04 | 1 | ns/op |
   |     |          |       |  | 
gsp.GroovyPageParserBenchmark.parseSmallTemplate | 9.94e+03 | 1 | ns/op |
   |     |          |       |  | ruler.CpuRulerBenchmark.integerArithmetic | 89 
| 1 | ns/op |
   |     |          |       |  | 
ruler.MemoryRulerBenchmark.allocateAndCopyArray | 108 | 1 | ns/op |
   |     |          |       |  | throughput.Ops.run | 120 | 1 | ops/s |
   |     |          |       |  | 
urlmappings.UrlMappingsBenchmark.matchColdVariedKeys | 802 | 1 | ns/op |
   |     |          |       |  | 
urlmappings.UrlMappingsBenchmark.matchWarmCache | 8.77 | 1 | ns/op |
   |     |          |       |  | 
views.ViewTemplateRenderingBenchmark.renderJsonTemplate | 0.46 | 1 | ns/op |
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_headonly_report_exa_5_temporaryDirectory10567053704218395916\headonly.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 0 (no base)
   |     **Improvements:** 0 (no base)
   |     **Runner health:** not measured (no base)
   |      
   |     No comparison was possible because the base revision has no benchmark 
harness.
   |      
   |     | Benchmark | Head score | Error | Unit |
   |     | --- | ---: | ---: | --- |
   |     | databinding.SimpleDataBinderBenchmark.bindFlatMap | 1.83e+04 | 1 | 
ns/op |
   |     | gsp.GroovyPageParserBenchmark.parseSmallTemplate | 9.94e+03 | 1 | 
ns/op |
   |     | ruler.CpuRulerBenchmark.integerArithmetic | 89 | 1 | ns/op |
   |     | ruler.MemoryRulerBenchmark.allocateAndCopyArray | 108 | 1 | ns/op |
   |     | throughput.Ops.run | 120 | 1 | ops/s |
   |     | urlmappings.UrlMappingsBenchmark.matchColdVariedKeys | 802 | 1 | 
ns/op |
   |     | urlmappings.UrlMappingsBenchmark.matchWarmCache | 8.77 | 1 | ns/op |
   |     | views.ViewTemplateRenderingBenchmark.renderJsonTemplate | 0.46 | 1 | 
ns/op |
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 0 \(no base\)|\*\*Regressions:\*\* 0 \(no base\)|
   |\*\*Improvements:\*\* 0 \(no base\)|\*\*Improvements:\*\* 0 \(no base\)|
   |\*\*Runner health:\*\* not measured \(no base\)|\*\*Runner health:\*\* not 
measured \(no base\)|
   |||
   |No comparison was possible because the base revision has no benchmark 
harness.|No comparison was possible because the base revision has no benchmark 
harness.|
   |||
   |\| Benchmark \| Head score \| Error \| Unit \||\| Benchmark \| Head score 
\| Error \| Unit \||
   |\| --- \| ---: \| ---: \| --- \||\| --- \| ---: \| ---: \| --- \||
   |\| databinding.SimpleDataBinderBenchmark.bindFlatMap \| 1.83e\+04 \| 1 \| 
ns/op \||\| databinding.SimpleDataBinderBenchmark.bindFlatMap \| 1.83e\+04 \| 1 
\| ns/op \||
   |\| gsp.GroovyPageParserBenchmark.parseSmallTemplate \| 9.94e\+03 \| 1 \| 
ns/op \||\| gsp.GroovyPageParserBenchmark.parseSmallTemplate \| 9.94e\+03 \| 1 
\| ns/op \||
   |\| ruler.CpuRulerBenchmark.integerArithmetic \| 89 \| 1 \| ns/op \||\| 
ruler.CpuRulerBenchmark.integerArithmetic \| 89 \| 1 \| ns/op \||
   |\| ruler.MemoryRulerBenchmark.allocateAndCopyArray \| 108 \| 1 \| ns/op 
\||\| ruler.MemoryRulerBenchmark.allocateAndCopyArray \| 108 \| 1 \| ns/op \||
   |\| throughput.Ops.run \| 120 \| 1 \| ops/s \||\| throughput.Ops.run \| 120 
\| 1 \| ops/s \||
   |\| urlmappings.UrlMappingsBenchmark.matchColdVariedKeys \| 802 \| 1 \| 
ns/op \||\| urlmappings.UrlMappingsBenchmark.matchColdVariedKeys \| 802 \| 1 \| 
ns/op \||
   |\| urlmappings.UrlMappingsBenchmark.matchWarmCache \| 8.77 \| 1 \| ns/op 
\||\| urlmappings.UrlMappingsBenchmark.matchWarmCache \| 8.77 \| 1 \| ns/op \||
   |\| views.ViewTemplateRenderingBenchmark.renderJsonTemplate \| 0.46 \| 1 \| 
ns/op \||\| views.ViewTemplateRenderingBenchmark.renderJsonTemplate \| 0.46 \| 
1 \| ns/op \||
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > norulers report exactly matches the Python 
golden file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-norulers.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 1
   |     |          |       |  **Improvements:** 1
   |     |          |       |  **Runner health:** not measured
   |     |          |       |  Ruler benchmarks are excluded from verdicts and 
group summaries; runner health is a stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  Group geometric means are descriptive only, not 
verdicts.
   |     |          |       |   
   |     |          |       |  | Group | Descriptive geomean speedup | n |
   |     |          |       |  | --- | ---: | ---: |
   |     |          |       |  | group | 1.00x | 2 |
   |     |          |       |   
   |     |          |       |  <details>
   |     |          |       |  <summary>Per-benchmark results</summary>
   |     |          |       |   
   |     |          |       |  | Benchmark | Base score | Head score | Speedup 
| Verdict | Allocation delta (ADVISORY) |
   |     |          |       |  | --- | ---: | ---: | ---: | --- | ---: |
   |     |          |       |  | g.group.First.run | 100 ns/op | 200 ns/op | 
0.50x | REGRESSED | — |
   |     |          |       |  | g.group.Second.run | 100 ns/op | 50 ns/op | 
2.00x | IMPROVED | — |
   |     |          |       |   
   |     |          |       |  </details>
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_norulers_report_exa_3_temporaryDirectory17048898167073638243\norulers.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 1
   |     **Improvements:** 1
   |     **Runner health:** not measured
   |     Ruler benchmarks are excluded from verdicts and group summaries; 
runner health is a stability check, not a calibration factor.
   |      
   |     Group geometric means are descriptive only, not verdicts.
   |      
   |     | Group | Descriptive geomean speedup | n |
   |     | --- | ---: | ---: |
   |     | group | 1.00x | 2 |
   |      
   |     <details>
   |     <summary>Per-benchmark results</summary>
   |      
   |     | Benchmark | Base score | Head score | Speedup | Verdict | Allocation 
delta (ADVISORY) |
   |     | --- | ---: | ---: | ---: | --- | ---: |
   |     | g.group.First.run | 100 ns/op | 200 ns/op | 0.50x | REGRESSED | — |
   |     | g.group.Second.run | 100 ns/op | 50 ns/op | 2.00x | IMPROVED | — |
   |      
   |     </details>
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 1|\*\*Regressions:\*\* 1|
   |\*\*Improvements:\*\* 1|\*\*Improvements:\*\* 1|
   |\*\*Runner health:\*\* not measured|\*\*Runner health:\*\* not measured|
   |Ruler benchmarks are excluded from verdicts and group summaries; runner 
health is a stability check, not a calibration factor.|Ruler benchmarks are 
excluded from verdicts and group summaries; runner health is a stability check, 
not a calibration factor.|
   |||
   |Group geometric means are descriptive only, not verdicts.|Group geometric 
means are descriptive only, not verdicts.|
   |||
   |\| Group \| Descriptive geomean speedup \| n \||\| Group \| Descriptive 
geomean speedup \| n \||
   |\| --- \| ---: \| ---: \||\| --- \| ---: \| ---: \||
   |\| group \| 1.00x \| 2 \||\| group \| 1.00x \| 2 \||
   |||
   |\<details\>|\<details\>|
   |\<summary\>Per-benchmark results\</summary\>|\<summary\>Per-benchmark 
results\</summary\>|
   |||
   |\| Benchmark \| Base score \| Head score \| Speedup \| Verdict \| 
Allocation delta \(ADVISORY\) \||\| Benchmark \| Base score \| Head score \| 
Speedup \| Verdict \| Allocation delta \(ADVISORY\) \||
   |\| --- \| ---: \| ---: \| ---: \| --- \| ---: \||\| --- \| ---: \| ---: \| 
---: \| --- \| ---: \||
   |\| g.group.First.run \| 100 ns/op \| 200 ns/op \| 0.50x \| REGRESSED \| — 
\||\| g.group.First.run \| 100 ns/op \| 200 ns/op \| 0.50x \| REGRESSED \| — \||
   |\| g.group.Second.run \| 100 ns/op \| 50 ns/op \| 2.00x \| IMPROVED \| — 
\||\| g.group.Second.run \| 100 ns/op \| 50 ns/op \| 2.00x \| IMPROVED \| — \||
   |||
   |\</details\>|\</details\>|
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > numbers report exactly matches the Python 
golden file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-numbers.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 0
   |     |          |       |  **Improvements:** 0
   |     |          |       |  **Runner health:** not measured
   |     |          |       |  Ruler benchmarks are excluded from verdicts and 
group summaries; runner health is a stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  Group geometric means are descriptive only, not 
verdicts.
   |     |          |       |   
   |     |          |       |  | Group | Descriptive geomean speedup | n |
   |     |          |       |  | --- | ---: | ---: |
   |     |          |       |  | n | 1.00x | 10 |
   |     |          |       |   
   |     |          |       |  <details>
   |     |          |       |  <summary>Per-benchmark results</summary>
   |     |          |       |   
   |     |          |       |  | Benchmark | Base score | Head score | Speedup 
| Verdict | Allocation delta (ADVISORY) |
   |     |          |       |  | --- | ---: | ---: | ---: | --- | ---: |
   |     |          |       |  | n.A.run | 0.46 ns/op | 0.46 ns/op | 1.00x | no 
clear change | — |
   |     |          |       |  | n.B.run | 100 ns/op | 100 ns/op | 1.00x | no 
clear change | — |
   |     |          |       |  | n.C.run | 802 ns/op | 802 ns/op | 1.00x | no 
clear change | — |
   |     |          |       |  | n.D.run | 1.83e+04 ns/op | 1.83e+04 ns/op | 
1.00x | no clear change | — |
   |     |          |       |  | n.E.run | 1 ns/op | 1 ns/op | 1.00x | no clear 
change | — |
   |     |          |       |  | n.F.run | 0.000123 ns/op | 0.000123 ns/op | 
1.00x | no clear change | — |
   |     |          |       |  | n.G.run | 1.23e+08 ns/op | 1.23e+08 ns/op | 
1.00x | no clear change | — |
   |     |          |       |  | n.H.run | 1.5 ns/op | 1.5 ns/op | 1.00x | no 
clear change | — |
   |     |          |       |  | n.I.run | 1e+06 ns/op | 1e+06 ns/op | 1.00x | 
no clear change | — |
   |     |          |       |  | n.J.run | 0.1 ns/op | 0.1 ns/op | 1.00x | no 
clear change | — |
   |     |          |       |   
   |     |          |       |  </details>
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_numbers_report_exac_1_temporaryDirectory9881359309060659325\numbers.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 0
   |     **Improvements:** 0
   |     **Runner health:** not measured
   |     Ruler benchmarks are excluded from verdicts and group summaries; 
runner health is a stability check, not a calibration factor.
   |      
   |     Group geometric means are descriptive only, not verdicts.
   |      
   |     | Group | Descriptive geomean speedup | n |
   |     | --- | ---: | ---: |
   |     | n | 1.00x | 10 |
   |      
   |     <details>
   |     <summary>Per-benchmark results</summary>
   |      
   |     | Benchmark | Base score | Head score | Speedup | Verdict | Allocation 
delta (ADVISORY) |
   |     | --- | ---: | ---: | ---: | --- | ---: |
   |     | n.A.run | 0.46 ns/op | 0.46 ns/op | 1.00x | no clear change | — |
   |     | n.B.run | 100 ns/op | 100 ns/op | 1.00x | no clear change | — |
   |     | n.C.run | 802 ns/op | 802 ns/op | 1.00x | no clear change | — |
   |     | n.D.run | 1.83e+04 ns/op | 1.83e+04 ns/op | 1.00x | no clear change 
| — |
   |     | n.E.run | 1 ns/op | 1 ns/op | 1.00x | no clear change | — |
   |     | n.F.run | 0.000123 ns/op | 0.000123 ns/op | 1.00x | no clear change 
| — |
   |     | n.G.run | 1.23e+08 ns/op | 1.23e+08 ns/op | 1.00x | no clear change 
| — |
   |     | n.H.run | 1.5 ns/op | 1.5 ns/op | 1.00x | no clear change | — |
   |     | n.I.run | 1e+06 ns/op | 1e+06 ns/op | 1.00x | no clear change | — |
   |     | n.J.run | 0.1 ns/op | 0.1 ns/op | 1.00x | no clear change | — |
   |      
   |     </details>
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 0|\*\*Regressions:\*\* 0|
   |\*\*Improvements:\*\* 0|\*\*Improvements:\*\* 0|
   |\*\*Runner health:\*\* not measured|\*\*Runner health:\*\* not measured|
   |Ruler benchmarks are excluded from verdicts and group summaries; runner 
health is a stability check, not a calibration factor.|Ruler benchmarks are 
excluded from verdicts and group summaries; runner health is a stability check, 
not a calibration factor.|
   |||
   |Group geometric means are descriptive only, not verdicts.|Group geometric 
means are descriptive only, not verdicts.|
   |||
   |\| Group \| Descriptive geomean speedup \| n \||\| Group \| Descriptive 
geomean speedup \| n \||
   |\| --- \| ---: \| ---: \||\| --- \| ---: \| ---: \||
   |\| n \| 1.00x \| 10 \||\| n \| 1.00x \| 10 \||
   |||
   |\<details\>|\<details\>|
   |\<summary\>Per-benchmark results\</summary\>|\<summary\>Per-benchmark 
results\</summary\>|
   |||
   |\| Benchmark \| Base score \| Head score \| Speedup \| Verdict \| 
Allocation delta \(ADVISORY\) \||\| Benchmark \| Base score \| Head score \| 
Speedup \| Verdict \| Allocation delta \(ADVISORY\) \||
   |\| --- \| ---: \| ---: \| ---: \| --- \| ---: \||\| --- \| ---: \| ---: \| 
---: \| --- \| ---: \||
   |\| n.A.run \| 0.46 ns/op \| 0.46 ns/op \| 1.00x \| no clear change \| — 
\||\| n.A.run \| 0.46 ns/op \| 0.46 ns/op \| 1.00x \| no clear change \| — \||
   |\| n.B.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change \| — \||\| 
n.B.run \| 100 ns/op \| 100 ns/op \| 1.00x \| no clear change \| — \||
   |\| n.C.run \| 802 ns/op \| 802 ns/op \| 1.00x \| no clear change \| — \||\| 
n.C.run \| 802 ns/op \| 802 ns/op \| 1.00x \| no clear change \| — \||
   |\| n.D.run \| 1.83e\+04 ns/op \| 1.83e\+04 ns/op \| 1.00x \| no clear 
change \| — \||\| n.D.run \| 1.83e\+04 ns/op \| 1.83e\+04 ns/op \| 1.00x \| no 
clear change \| — \||
   |\| n.E.run \| 1 ns/op \| 1 ns/op \| 1.00x \| no clear change \| — \||\| 
n.E.run \| 1 ns/op \| 1 ns/op \| 1.00x \| no clear change \| — \||
   |\| n.F.run \| 0.000123 ns/op \| 0.000123 ns/op \| 1.00x \| no clear change 
\| — \||\| n.F.run \| 0.000123 ns/op \| 0.000123 ns/op \| 1.00x \| no clear 
change \| — \||
   |\| n.G.run \| 1.23e\+08 ns/op \| 1.23e\+08 ns/op \| 1.00x \| no clear 
change \| — \||\| n.G.run \| 1.23e\+08 ns/op \| 1.23e\+08 ns/op \| 1.00x \| no 
clear change \| — \||
   |\| n.H.run \| 1.5 ns/op \| 1.5 ns/op \| 1.00x \| no clear change \| — \||\| 
n.H.run \| 1.5 ns/op \| 1.5 ns/op \| 1.00x \| no clear change \| — \||
   |\| n.I.run \| 1e\+06 ns/op \| 1e\+06 ns/op \| 1.00x \| no clear change \| — 
\||\| n.I.run \| 1e\+06 ns/op \| 1e\+06 ns/op \| 1.00x \| no clear change \| — 
\||
   |\| n.J.run \| 0.1 ns/op \| 0.1 ns/op \| 1.00x \| no clear change \| — \||\| 
n.J.run \| 0.1 ns/op \| 0.1 ns/op \| 1.00x \| no clear change \| — \||
   |||
   |\</details\>|\</details\>|
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   <details>
   
   <summary><strong>GoldenReportSpec > <span>#</span>name report exactly 
matches the Python golden file > shards report exactly matches the Python 
golden file</strong> (:grails-benchmarks:test in <a 
href="https://github.com/apache/grails-core/actions/runs/30752280498/job/91508824375?pr=16071";>CI
 / Build Grails-Core (windows-latest, 25)</a>)</summary>
   
   ```
   Condition not satisfied:
   
   Files.readString(output) == resource(expected)
   |     |          |       |  |        |
   |     |          |       |  |        jmh-golden/expected-shards.md
   |     |          |       |  ### JMH Benchmark Report
   |     |          |       |   
   |     |          |       |  **Regressions:** 0
   |     |          |       |  **Improvements:** 0
   |     |          |       |  **Runner health:** worst ruler deviation: 12.0% 
in shard-b.json (CpuRuler.run)
   |     |          |       |  Ruler benchmarks are excluded from verdicts and 
group summaries; runner health is a stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  > **Warning:** No usable base/head pair was 
produced by shard-c.json. This comparison rests on 2 shard pair(s) instead of 
the expected 3, so the alternating measurement order did not fully cancel and 
the result is weaker than a normal run.
   |     |          |       |  **Ruler movements:** shard-a.json: CpuRuler.run: 
0.89x, shard-b.json: CpuRuler.run: 1.12x
   |     |          |       |   
   |     |          |       |  > **Warning:** The runner was unstable BETWEEN 
the two halves of the A/B run. Treat results as unreliable. Runner health is a 
stability check, not a calibration factor.
   |     |          |       |   
   |     |          |       |  Group geometric means are descriptive only, not 
verdicts.
   |     |          |       |   
   |     |          |       |  | Group | Descriptive geomean speedup | n |
   |     |          |       |  | --- | ---: | ---: |
   |     |          |       |  | s | 0.95x | 1 |
   |     |          |       |   
   |     |          |       |  <details>
   |     |          |       |  <summary>Per-benchmark results</summary>
   |     |          |       |   
   |     |          |       |  | Benchmark | Base score | Head score | Speedup 
| Verdict | Allocation delta (ADVISORY) |
   |     |          |       |  | --- | ---: | ---: | ---: | --- | ---: |
   |     |          |       |  | ruler.CpuRuler.run | 100 ns/op | 101 ns/op | 
0.99x | ruler - excluded | — |
   |     |          |       |  | s.Paired.run | 100 ns/op | 105 ns/op | 0.95x | 
no clear change | +200 B/op (+200.0%) **candidate** |
   |     |          |       |   
   |     |          |       |  </details>
   |     |          |       |   
   |     |          |       |  **Dropped unpaired shard samples (1):** 
s.CrossShard.run
   |     |          |       |   
   |     |          |       |  <!-- grails-jmh-benchmark -->
   |     |          |       false
   |     |          |       Strings too large to calculate edit distance.
   |     |          
C:\Users\RUNNER~1\AppData\Local\Temp\spock_shards_report_exact_4_temporaryDirectory2033684034873501116\shards.md
   |     ### JMH Benchmark Report
   |      
   |     **Regressions:** 0
   |     **Improvements:** 0
   |     **Runner health:** worst ruler deviation: 12.0% in shard-b.json 
(CpuRuler.run)
   |     Ruler benchmarks are excluded from verdicts and group summaries; 
runner health is a stability check, not a calibration factor.
   |      
   |     > **Warning:** No usable base/head pair was produced by shard-c.json. 
This comparison rests on 2 shard pair(s) instead of the expected 3, so the 
alternating measurement order did not fully cancel and the result is weaker 
than a normal run.
   |     **Ruler movements:** shard-a.json: CpuRuler.run: 0.89x, shard-b.json: 
CpuRuler.run: 1.12x
   |      
   |     > **Warning:** The runner was unstable BETWEEN the two halves of the 
A/B run. Treat results as unreliable. Runner health is a stability check, not a 
calibration factor.
   |      
   |     Group geometric means are descriptive only, not verdicts.
   |      
   |     | Group | Descriptive geomean speedup | n |
   |     | --- | ---: | ---: |
   |     | s | 0.95x | 1 |
   |      
   |     <details>
   |     <summary>Per-benchmark results</summary>
   |      
   |     | Benchmark | Base score | Head score | Speedup | Verdict | Allocation 
delta (ADVISORY) |
   |     | --- | ---: | ---: | ---: | --- | ---: |
   |     | ruler.CpuRuler.run | 100 ns/op | 101 ns/op | 0.99x | ruler - 
excluded | — |
   |     | s.Paired.run | 100 ns/op | 105 ns/op | 0.95x | no clear change | 
+200 B/op (+200.0%) **candidate** |
   |      
   |     </details>
   |      
   |     **Dropped unpaired shard samples (1):** s.CrossShard.run
   |      
   |     <!-- grails-jmh-benchmark -->
   class java.nio.file.Files
   
        at org.apache.grails.benchmarks.report.GoldenReportSpec.#name report 
exactly matches the Python golden file(GoldenReportSpec.groovy:41)
   ```
   
   |expected|actual|
   |---|---|
   |<span>#</span><span>#</span><span>#</span> JMH Benchmark 
Report|<span>#</span><span>#</span><span>#</span> JMH Benchmark Report|
   |||
   |\*\*Regressions:\*\* 0|\*\*Regressions:\*\* 0|
   |\*\*Improvements:\*\* 0|\*\*Improvements:\*\* 0|
   |\*\*Runner health:\*\* worst ruler deviation: 12.0\% in shard-b.json 
\(CpuRuler.run\)|\*\*Runner health:\*\* worst ruler deviation: 12.0\% in 
shard-b.json \(CpuRuler.run\)|
   |Ruler benchmarks are excluded from verdicts and group summaries; runner 
health is a stability check, not a calibration factor.|Ruler benchmarks are 
excluded from verdicts and group summaries; runner health is a stability check, 
not a calibration factor.|
   |||
   |\> \*\*Warning:\*\* No usable base/head pair was produced by shard-c.json. 
This comparison rests on 2 shard pair\(s\) instead of the expected 3, so the 
alternating measurement order did not fully cancel and the result is weaker 
than a normal run.|\> \*\*Warning:\*\* No usable base/head pair was produced by 
shard-c.json. This comparison rests on 2 shard pair\(s\) instead of the 
expected 3, so the alternating measurement order did not fully cancel and the 
result is weaker than a normal run.|
   |\*\*Ruler movements:\*\* shard-a.json: CpuRuler.run: 0.89x, shard-b.json: 
CpuRuler.run: 1.12x|\*\*Ruler movements:\*\* shard-a.json: CpuRuler.run: 0.89x, 
shard-b.json: CpuRuler.run: 1.12x|
   |||
   |\> \*\*Warning:\*\* The runner was unstable BETWEEN the two halves of the 
A/B run. Treat results as unreliable. Runner health is a stability check, not a 
calibration factor.|\> \*\*Warning:\*\* The runner was unstable BETWEEN the two 
halves of the A/B run. Treat results as unreliable. Runner health is a 
stability check, not a calibration factor.|
   |||
   |Group geometric means are descriptive only, not verdicts.|Group geometric 
means are descriptive only, not verdicts.|
   |||
   |\| Group \| Descriptive geomean speedup \| n \||\| Group \| Descriptive 
geomean speedup \| n \||
   |\| --- \| ---: \| ---: \||\| --- \| ---: \| ---: \||
   |\| s \| 0.95x \| 1 \||\| s \| 0.95x \| 1 \||
   |||
   |\<details\>|\<details\>|
   |\<summary\>Per-benchmark results\</summary\>|\<summary\>Per-benchmark 
results\</summary\>|
   |||
   |\| Benchmark \| Base score \| Head score \| Speedup \| Verdict \| 
Allocation delta \(ADVISORY\) \||\| Benchmark \| Base score \| Head score \| 
Speedup \| Verdict \| Allocation delta \(ADVISORY\) \||
   |\| --- \| ---: \| ---: \| ---: \| --- \| ---: \||\| --- \| ---: \| ---: \| 
---: \| --- \| ---: \||
   |\| ruler.CpuRuler.run \| 100 ns/op \| 101 ns/op \| 0.99x \| ruler - 
excluded \| — \||\| ruler.CpuRuler.run \| 100 ns/op \| 101 ns/op \| 0.99x \| 
ruler - excluded \| — \||
   |\| s.Paired.run \| 100 ns/op \| 105 ns/op \| 0.95x \| no clear change \| 
\+200 B/op \(\+200.0\%\) \*\*candidate\*\* \||\| s.Paired.run \| 100 ns/op \| 
105 ns/op \| 0.95x \| no clear change \| \+200 B/op \(\+200.0\%\) 
\*\*candidate\*\* \||
   |||
   |\</details\>|\</details\>|
   |||
   |\*\*Dropped unpaired shard samples \(1\):\*\* s.CrossShard.run|\*\*Dropped 
unpaired shard samples \(1\):\*\* s.CrossShard.run|
   |||
   |\<\!-- grails-jmh-benchmark --\>|\<\!-- grails-jmh-benchmark --\>|
   |||
   
   </details>
   
   ### Muted Tests
   > [!NOTE]
   > Checks are currently running using the configuration below.
   
   Select tests to mute in this pull request:
   
   🔲 GoldenReportSpec > <span>#</span>name report exactly matches the Python 
golden file <!-- 
uniqueId=[engine:spock]/[spec:org.apache.grails.benchmarks.report.GoldenReportSpec]/[feature:$spock_feature_0_0]
 -->
   
   Reuse successful test results:
   
   🔲 ♻️ Only rerun the tests that failed or were muted before
   
   Click the checkbox to trigger a rerun:
   
   🔲 **Rerun jobs**
   
   ---
   _Learn more about TestLens at [testlens.app](https://testlens.app)._
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to