The current common JavaScript benchmarks have spotty and outdated coverage of Regular Expression processing performance. We should create a new benchmark that measures RegExp performance on likely real world web use of ES6 Regular Expressions. This should include uses of RegExp's for parsing, complicated captured patterns, and use of the unicode flag.
<rdar://problem/33183181>
Created attachment 317305 [details] Patch
This patch is big primarily due one large JavaScript data file, waypoints.js used in the FlightPlanner test.
Attachment 317305 [details] did not pass style-queue: ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:78: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:160: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:166: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:168: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:219: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:225: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:232: multiple statements on one line (semicolon) [pep8/E702] [5] ERROR: PerformanceTests/RexBench/FlightPlanner/convert-nfdc.py:236: multiple statements on one line (semicolon) [pep8/E702] [5] Total errors found: 8 in 37 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 317305 [details] Patch Bugzilla seriously craps itself on this patch! Can't review inline... Took a glance at what seems important, looks good overall. A few comments then r=me PerformanceTests/RexBench/about.html "help compete and win". Always be winning. “Flight Planner Unicode” should be in Unicode instead! “ equivolents” typo PerformanceTests/RexBench/basic_benchmark.js Copyright is 2016 here (check others too…) “I'd call this arguments but we're in strict mode.” :-)
Committed r220307: <http://trac.webkit.org/changeset/220307>
For some reason Bugzilla isn't letting me leave a comment on the patch, but you have a commented out line like: // print("Benchmark ......... It's probably worth removing.
(In reply to Michael Saboff from comment #6) > Committed r220307: <http://trac.webkit.org/changeset/220307> This change introduced failures on the perf bot: Running RexBench (162 of 183) ERROR: layer at (0,0) size 785x1688 FAILED Finished: 1.651345 s Running RexBench/about.html (163 of 183) ERROR: layer at (0,0) size 785x1306 FAILED Finished: 1.587763 s https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20%28Perf%29/builds/966
(In reply to Ryan Haddad from comment #8) > (In reply to Michael Saboff from comment #6) > > Committed r220307: <http://trac.webkit.org/changeset/220307> > This change introduced failures on the perf bot: > > Running RexBench (162 of 183) > ERROR: layer at (0,0) size 785x1688 > FAILED > Finished: 1.651345 s > > Running RexBench/about.html (163 of 183) > ERROR: layer at (0,0) size 785x1306 > FAILED > Finished: 1.587763 s > > https://build.webkit.org/builders/ > Apple%20El%20Capitan%20Release%20WK2%20%28Perf%29/builds/966 This is tracked in <https://bugs.webkit.org/show_bug.cgi?id=175289>