-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
dart2js performance regression #3250
Comments
Added Triaged label. |
This looks pretty bad. What's the easiest way for me to run these benchmarks and recompile the dart2js version? Added Accepted label. |
This comment was originally written by domi...@google.com Check out http://code.google.com/p/dartbox2d. Results will be written to the console. |
This comment was originally written by domi...@google.com I've had some comments from Dartium users that there's a recent perf regression in dartbox2d. Any chance this is related? (https://plus.google.com/104569492481999771226/posts/S8FnxbPoXwh) |
Dominic: it might be related to http://code.google.com/p/dart/source/detail?r=8986 We've switched compilation pipeline in the VM from the old AST based optimizer to a new one that will eventually use SSA based IR. But code generation from that is unfortunately not in yet. Any double arithmetic heavy code is taking a temporary hit , because new optimizer does not perform some tricks (e.g. does not try to avoid allocations of temporary double boxes) that old compiler did. Proper infrastructure is not ready for that and implementing it in a hacky way would mean that we have to write code that would be thrown away once proper infrastructure is finished. We are working on it to close the gap. |
What's the status of the dartbox2d performance, Dominic? Added NeedsInfo label. |
Added this to the Later milestone. |
This comment was originally written by domi...@google.com I'm no longer running benchmarks under JS, so I don't have a good comparison I'm afraid. They only run under the VM directly. Perhaps, if it's a useful measure, the benchmarks could be added to the dart benchmark suite? I know the VM are using it, but are dart2js? |
Box2d is already in our benchmark suite, but benchmarks always have the risk of not measuring the right thing. So if you had still noticed bad performance we would have investigated further. Added Fixed label. |
… webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. bazel_worker (https://github.com/dart-lang/bazel_worker/compare/c14a268..f7b714e): f7b714e 2023-06-16 Jacob MacDonald add firehose publishing workflow (#76) 0743f11 2023-06-16 Parker Lougheed Require protobuf 3.0.0 and prepare for 1.0.3 release (#75) dartdoc (https://github.com/dart-lang/dartdoc/compare/5799424..793d575): 793d575d 2023-06-14 Sam Rawlins Remove unused coverage feature (#3444) 19ad21a4 2023-06-14 Parker Lougheed Replace `@sealed` meta usage with keyword (#3445) 8e9d89e3 2023-06-12 Sam Rawlins Remove all `@deprecated` elements. (#3250) 2019791c 2023-06-12 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#3442) d34c7067 2023-06-12 dependabot[bot] Bump github/codeql-action from 2.3.6 to 2.13.4 (#3443) http (https://github.com/dart-lang/http/compare/ba7eb60..8c25057): 8c25057 2023-06-16 Nate Bosch Unskip a skipped test (#966) protobuf (https://github.com/dart-lang/protobuf/compare/a9bf79f..e76bd74): e76bd74 2023-06-19 Ömer Sinan Ağacan Remove protoc_plugin exe from repo, update .gitignore (#851) 4b71e60 2023-06-16 Ömer Sinan Ağacan Fix a change in protoc_plugin changelog (#846) f4ffa1d 2023-06-16 Ömer Sinan Ağacan Fix missing protobuf import in grpc files (#845) source_maps (https://github.com/dart-lang/source_maps/compare/dd5b5cd..58eef30): 58eef30 2023-06-12 Kevin Moore Require Dart 3, update lints (#79) tools (https://github.com/dart-lang/tools/compare/8d6e8b8..02b5cc5): 02b5cc5 2023-06-16 Brian Wilkerson Add documentation for server events (#115) 698bfe8 2023-06-15 Elias Yishak Introducing new `Event` class that can be send via `analytics.send(Event event)` (#114) webdev (https://github.com/dart-lang/webdev/compare/81ae77a..b58edb7): b58edb7d 2023-06-16 Elliott Brooks Fix the DCM workflow (#2147) 1551fe6c 2023-06-16 Elliott Brooks Wrap VM service API methods in an error handler to convert any exceptions into type `RPCError` (#2144) 06abe901 2023-06-14 Elliott Brooks Add more tests to daily testing cron job (#2138) 5cb2dcf6 2023-06-13 Elliott Brooks Use new error codes from package:vm_service (#2141) Change-Id: I6779c6d20fbc69e83848f469df3e0b4d21420a9a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/310322 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
This issue was originally filed by domi...@google.com
Hello
I've finished updating dartbox2d from frog to dart2js and I'm seeing a significant performance regression. I've attached the frog and dart2js benchmark results. They are from different versions of Chrome, but I don't know of any significant perf regressions in the browser or V8 that could explain this.
(Note the dart2js results are truncated as they haven't completed.. after several minutes).
The commit that replaces the js is http://code.google.com/p/dartbox2d/source/detail?r=e93d4b6fb95096974242969ab86f11a6acfefce3.
Is this a known issue?
Attachments:
dartbox2d-benchmark-dart2js.txt (1.40 KB)
dartbox2d-benchmark-frog.txt (3.52 KB)
The text was updated successfully, but these errors were encountered: