Closed Bug 551624 Opened 15 years ago Closed 2 years 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.
Is jsc's faster than v8's?
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: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.