Closed Bug 551624 Opened 14 years ago Closed 1 month ago

Analyze why we're slower than V8 on Dromaeo regexp tests

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bzbarsky, Unassigned)

References

Details

(Keywords: student-project)

When using simple regexps like |new RegExp("aaaaaaaaaa", "g")| (as the Dromaeo test does), we seem to be about 2x slower than Safari.  A profile shows almost all the time is spent in the jit-generated code for the regexp.

It would be interesting to compare the assembly we generate with the assembly jsc generates, with an eye towards improving our codegen somehow.
I don't know.  On dromaeo v8 is faster, but I don't know whether the v8 I have here has that "cache stuff for dromaeo" workaround....

May be worth looking at both.
Summary: Analyze the assembly generated for simple regexps and compare to jsc's → Analyze the assembly generated for simple regexps and compare to JSC's and V8's
bz, I think this bug can be closed now that Yarr has landed on JM?  Our regexp speed should be pretty similar to JSC's ;)
I just ran the dromaeo-object-regexp tests on JM+Yarr, Safari 5, Chrome Dev.  Results:

Us: 149.04runs/s
Safari: 150.20runs/s
Chrome: 278.99runs/s

Comparison, in that order:  http://dromaeo.com/?id=114965,114966,114963

Resummarizing to see what's up there.

These tests especially:

 Compiled Variable Object Test
 Compiled Variable Object Empty Replace
 Compiled Variable Object 12 Char Replace	
 Compiled Variable Object 12 Char Replace Function
 Compiled Capture Replace with Uppercase Capture Function
 Uncompiled Match
 Uncompiled Test
 Uncompiled Empty Replace
 Uncompiled 12 Char Replace
 Uncompiled Object Match
 Uncompiled Object Test
 Uncompiled Object Empty Replace
 Uncompiled Object 12 Char Replace
Summary: Analyze the assembly generated for simple regexps and compare to JSC's and V8's → Analyze why we're slower than V8 on Dromaeo regexp tests
Depends on: 617136
Sad results =/ http://dromaeo.com/?id=203656,203653,203655
Nightly has IGC off these days, don't know if this affects the results.
Assignee: general → nobody
http://dromaeo.com/?id=269974,269975,269976,269977

From left to right: Nightly, Chrome 62, Edge, Firefox 57

The fix from bug 1419785 made a huge boost in the last 4 tests of the list (the Uncompiled Object * tests).
Firefox is faster or on par with Chrome and Edge on all tests except for the first two (around 33% slower on these).
Depends on: 1419785
Severity: normal → S3

Apparently we were caught up as of 2017, so I'll mark this WORKSFORME. I think we've replaced the regexp engine twice since this was originally filed.

Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.