Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance regression on Chrome Canary 69 #783

Closed
bd82 opened this issue Jul 18, 2018 · 5 comments
Closed

Performance regression on Chrome Canary 69 #783

bd82 opened this issue Jul 18, 2018 · 5 comments

Comments

@bd82
Copy link
Member

bd82 commented Jul 18, 2018

No description provided.

@bd82
Copy link
Member Author

bd82 commented Jul 18, 2018

On Chrome Stable Version 67.0.3396.99 (Official Build) (64-bit):
With V8 6.7.288.46
screen shot 2018-07-18 at 11 08 15 am

On Chrome Canary Version 69.0.3495.0 (Official Build) canary (64-bit)
with V8 6.9.423

screen shot 2018-07-18 at 12 25 58 pm

@bd82
Copy link
Member Author

bd82 commented Jul 18, 2018

Also happens on Chrome Dev and Canary Channels.

@bd82
Copy link
Member Author

bd82 commented Jul 18, 2018

When comparing on Chrome Canary vs Stable, the lexer seems to be about the same speed
and the parser seems to be almost x4 slower

@bd82 bd82 changed the title Performance regression on Chrome Beta 68 Performance regression on Chrome Canary 69 Jul 18, 2018
@bd82
Copy link
Member Author

bd82 commented Jul 18, 2018

Looks like the performance more than halved with V8 6.9.xxx
But the other parsers used in this benchmark were not affected or only slightly affected.
Perhaps the major regression is in some JavaScript patterns common in Chevrotain
but more rare in the other parsers.

Random thoughts on what such flows may be:

  • Using Noop pattern to dynamically eliminate function invocations for unused flows (e.g. CST creation / error recovery).
  • Using 32bit keys created using bitwise operations for caching.
  • Using a ton of anonymous functions / callbacks.

@bd82
Copy link
Member Author

bd82 commented Jul 18, 2018

Opened a bug here:
https://bugs.chromium.org/p/v8/issues/detail?id=7952

@bd82 bd82 changed the title Performance regression on Chrome Canary 69 Performance regression on Chrome Canary 69 and Chrome Beta 68 Jul 18, 2018
@bd82 bd82 changed the title Performance regression on Chrome Canary 69 and Chrome Beta 68 Performance regression on Chrome Canary 69 Jul 18, 2018
@bd82 bd82 closed this as completed in 11982f0 Jul 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant