GROOVY-9192: Implement optional parser error recovery for Parrot parser#2724
GROOVY-9192: Implement optional parser error recovery for Parrot parser#2724daniellansun wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.
| Benchmark suite | Current: 1997ba3 | Previous: 5751802 | Ratio |
|---|---|---|---|
org.apache.groovy.bench.AckermannBench.groovy ( {"n":"5"} ) |
0.12131036260988655 ms/op |
0.063002179888076 ms/op |
1.93 |
org.apache.groovy.bench.AckermannBench.groovy ( {"n":"6"} ) |
0.5036411988301784 ms/op |
0.2563429212462132 ms/op |
1.96 |
org.apache.groovy.bench.AckermannBench.groovy ( {"n":"7"} ) |
2.0957136879044524 ms/op |
1.0421519312612693 ms/op |
2.01 |
org.apache.groovy.bench.AckermannBench.java ( {"n":"5"} ) |
0.052850842276925866 ms/op |
0.03414830338586792 ms/op |
1.55 |
org.apache.groovy.bench.AckermannBench.java ( {"n":"6"} ) |
0.24027732541807212 ms/op |
0.1468907822019508 ms/op |
1.64 |
org.apache.groovy.bench.AckermannBench.java ( {"n":"7"} ) |
1.1275067999913673 ms/op |
0.6000802324887666 ms/op |
1.88 |
org.apache.groovy.bench.AryBench.groovy ( {"n":"10"} ) |
0.004216822044237626 ms/op |
0.002724487871394762 ms/op |
1.55 |
org.apache.groovy.bench.AryBench.groovy ( {"n":"100"} ) |
0.01140493742684473 ms/op |
0.006041998437183653 ms/op |
1.89 |
org.apache.groovy.bench.AryBench.groovy ( {"n":"1000000"} ) |
102.427999505 ms/op |
64.73213189153225 ms/op |
1.58 |
org.apache.groovy.bench.AryBench.groovyCS ( {"n":"10"} ) |
0.00493862251339547 ms/op |
0.0026779008198633244 ms/op |
1.84 |
org.apache.groovy.bench.AryBench.groovyCS ( {"n":"100"} ) |
0.012298189775068285 ms/op |
0.007168356004693699 ms/op |
1.72 |
org.apache.groovy.bench.AryBench.groovyCS ( {"n":"1000000"} ) |
102.964045975 ms/op |
67.03643774660364 ms/op |
1.54 |
org.apache.groovy.bench.AryBench.java ( {"n":"10"} ) |
0.007654466131786383 ms/op |
0.0027453734564435116 ms/op |
2.79 |
org.apache.groovy.bench.AryBench.java ( {"n":"100"} ) |
0.015613147341510678 ms/op |
0.006587041161005459 ms/op |
2.37 |
org.apache.groovy.bench.AryBench.java ( {"n":"1000"} ) |
0.08964707157742838 ms/op |
0.039948105973112574 ms/op |
2.24 |
org.apache.groovy.bench.AryBench.java ( {"n":"1000000"} ) |
102.357096585 ms/op |
66.1717264751613 ms/op |
1.55 |
org.apache.groovy.bench.CalibrationBench.memoryPointerChase |
1027.6709555341747 us/op |
342.1568904021596 us/op |
3.00 |
org.apache.groovy.bench.FiboBench.groovy ( {"n":"30"} ) |
7.176965602319103 ms/op |
3.6106976606232672 ms/op |
1.99 |
org.apache.groovy.bench.FiboBench.groovy ( {"n":"31"} ) |
11.58750264566474 ms/op |
5.838830129704209 ms/op |
1.98 |
org.apache.groovy.bench.FiboBench.groovy ( {"n":"32"} ) |
18.765543449602266 ms/op |
9.453265287038834 ms/op |
1.99 |
org.apache.groovy.bench.FiboBench.groovy ( {"n":"33"} ) |
30.311577281117145 ms/op |
15.283808291302336 ms/op |
1.98 |
org.apache.groovy.bench.FiboBench.groovy ( {"n":"34"} ) |
49.029510046341464 ms/op |
24.67889122305029 ms/op |
1.99 |
org.apache.groovy.bench.FiboBench.java ( {"n":"30"} ) |
3.5540120431257733 ms/op |
1.8178108364396528 ms/op |
1.96 |
org.apache.groovy.bench.FiboBench.java ( {"n":"31"} ) |
5.477555015881352 ms/op |
2.8379066725330597 ms/op |
1.93 |
org.apache.groovy.bench.FiboBench.java ( {"n":"32"} ) |
8.872497982122342 ms/op |
4.629778610377975 ms/op |
1.92 |
org.apache.groovy.bench.FiboBench.java ( {"n":"33"} ) |
14.087807641477832 ms/op |
7.456669660115338 ms/op |
1.89 |
org.apache.groovy.bench.FiboBench.java ( {"n":"34"} ) |
22.830152797621007 ms/op |
12.483841293642394 ms/op |
1.83 |
org.apache.groovy.bench.DynamicDispatchColdBench.closure_groovy ( {"n":"500"} ) |
316671.80496 us/op |
177069.90404000005 us/op |
1.79 |
org.apache.groovy.bench.DynamicDispatchColdBench.closure_groovy ( {"n":"20000"} ) |
349343.14268 us/op |
190482.62348000004 us/op |
1.83 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovy ( {"n":"500"} ) |
325573.13951999997 us/op |
181846.19404 us/op |
1.79 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovy ( {"n":"20000"} ) |
331844.55116000003 us/op |
187327.21212 us/op |
1.77 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovyCS ( {"n":"500"} ) |
240023.73023999998 us/op |
137238.73532 us/op |
1.75 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovyCS ( {"n":"20000"} ) |
244798.06400000007 us/op |
137227.42260000005 us/op |
1.78 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovyColdReflect ( {"n":"500"} ) |
325083.44655999995 us/op |
182911.54687999998 us/op |
1.78 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_groovyColdReflect ( {"n":"20000"} ) |
337318.57800000004 us/op |
186284.11252 us/op |
1.81 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_java ( {"n":"500"} ) |
302.16056000000003 us/op |
173.32467999999997 us/op |
1.74 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicMono_java ( {"n":"20000"} ) |
1130.9571600000002 us/op |
618.23108 us/op |
1.83 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicPoly_groovy ( {"n":"500"} ) |
347656.09104 us/op |
192484.77135999996 us/op |
1.81 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicPoly_groovy ( {"n":"20000"} ) |
410501.86084 us/op |
227935.65111999997 us/op |
1.80 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicPoly_groovyColdReflect ( {"n":"500"} ) |
347594.31644 us/op |
191972.97884000003 us/op |
1.81 |
org.apache.groovy.bench.DynamicDispatchColdBench.dynamicPoly_groovyColdReflect ( {"n":"20000"} ) |
411417.77176 us/op |
226216.30228 us/op |
1.82 |
org.apache.groovy.bench.DynamicDispatchColdBench.property_groovy ( {"n":"500"} ) |
304456.96432 us/op |
170105.97379999998 us/op |
1.79 |
org.apache.groovy.bench.DynamicDispatchColdBench.property_groovy ( {"n":"20000"} ) |
321728.8474 us/op |
179869.95636000004 us/op |
1.79 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.instanceSum_groovy ( {"n":"500"} ) |
236633.32755 us/op |
132744.62953750003 us/op |
1.78 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.instanceSum_groovy ( {"n":"2000"} ) |
237278.13451249996 us/op |
132795.52525 us/op |
1.79 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.instanceSum_groovy ( {"n":"20000"} ) |
240357.21957500005 us/op |
133433.3200125001 us/op |
1.80 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovy ( {"n":"500"} ) |
5299.582900000001 us/op |
3074.26905 us/op |
1.72 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovy ( {"n":"2000"} ) |
5621.903062500002 us/op |
3212.9942624999994 us/op |
1.75 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovy ( {"n":"20000"} ) |
7371.83115 us/op |
4166.887087500001 us/op |
1.77 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovyCS ( {"n":"500"} ) |
1851.3242499999997 us/op |
1027.2535375000002 us/op |
1.80 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovyCS ( {"n":"2000"} ) |
1943.0491374999997 us/op |
1054.1093125000002 us/op |
1.84 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_groovyCS ( {"n":"20000"} ) |
2747.9182375000005 us/op |
1527.7231 us/op |
1.80 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_java ( {"n":"500"} ) |
19.313099999999995 us/op |
8.322725000000005 us/op |
2.32 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_java ( {"n":"2000"} ) |
53.31398749999998 us/op |
22.34625 us/op |
2.39 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_java ( {"n":"20000"} ) |
435.98687499999994 us/op |
169.72167499999995 us/op |
2.57 |
This comment was automatically generated by workflow using github-action-benchmark.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2724 +/- ##
==================================================
+ Coverage 69.2109% 69.2292% +0.0182%
- Complexity 34491 34513 +22
==================================================
Files 1539 1541 +2
Lines 129913 129938 +25
Branches 23669 23673 +4
==================================================
+ Hits 89914 89955 +41
+ Misses 31942 31929 -13
+ Partials 8057 8054 -3
🚀 New features to boost your workflow:
|
JMH summary — classic (commit
|
| Group | Speedup | Calibrated | n |
|---|---|---|---|
| bench | 0.987 × | 1.031 × | 84 |
| core | 1.052 × | 1.020 × | 77 |
| grails | 1.113 × | 1.122 × | 80 |
Runner calibration (this run vs baseline hardware): bench 0.96× (26 rulers) · core-ag 0.95× (3 rulers) · core-hz 1.13× (3 rulers) · grails-ad 1.00× (3 rulers) · grails-ez 0.99× (3 rulers)
Baseline: dev/bench/jmh/<part>/classic/data.js on gh-pages, trailing 90 days. Daily dashboard · Per-suite raw data
JMH summary — indy (commit
|
| Group | Speedup | Calibrated | n |
|---|---|---|---|
| bench | 0.989 × | 0.978 × | 84 |
| core | 4.000 × | 3.177 × | 77 |
| grails | 2.177 × | 2.331 × | 80 |
⚠️ Runner speed differs ≥15% from the historical baseline hardware for: core-hz. Raw speedups are not meaningful for those parts — use the calibrated column.
Runner calibration (this run vs baseline hardware): bench 1.00× (26 rulers) · core-ag 1.12× (3 rulers) · core-hz 1.43× (3 rulers) · grails-ad 0.94× (3 rulers) · grails-ez 0.93× (3 rulers)
Baseline: dev/bench/jmh/<part>/indy/data.js on gh-pages, trailing 90 days. Daily dashboard · Per-suite raw data
0fb62e4 to
5c00b9f
Compare
5c00b9f to
1997ba3
Compare
|
✅ All tests passed ✅🏷️ Commit: 1997ba3 Learn more about TestLens at testlens.app. |



https://issues.apache.org/jira/browse/GROOVY-9192