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

dart2js performance regression #3250

Closed
DartBot opened this issue May 25, 2012 · 10 comments
Closed

dart2js performance regression #3250

DartBot opened this issue May 25, 2012 · 10 comments
Assignees
Labels
type-performance Issue relates to performance or code size web-dart2js

Comments

@DartBot
Copy link

DartBot commented May 25, 2012

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)

@kasperl
Copy link

kasperl commented May 29, 2012

Added Triaged label.

@kasperl
Copy link

kasperl commented Jun 1, 2012

This looks pretty bad. What's the easiest way for me to run these benchmarks and recompile the dart2js version?


Added Accepted label.

@DartBot
Copy link
Author

DartBot commented Jun 1, 2012

This comment was originally written by domi...@google.com


Check out http://code.google.com/p/dartbox2d.
Compile benchmarks/BenchmarkRunner.dart
Open benchmarks.html in a browser

Results will be written to the console.

@kasperl
Copy link

kasperl commented Jun 4, 2012

Thanks, Dominic. I'll take a look!


Set owner to @kasperl.
Added Started label.

@DartBot
Copy link
Author

DartBot commented Jun 26, 2012

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)

@mraleph
Copy link
Member

mraleph commented Jun 26, 2012

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.

@kasperl
Copy link

kasperl commented Sep 3, 2012

What's the status of the dartbox2d performance, Dominic?


Added NeedsInfo label.

@kasperl
Copy link

kasperl commented Sep 3, 2012

Added this to the Later milestone.

@DartBot
Copy link
Author

DartBot commented Sep 4, 2012

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?

@floitschG
Copy link
Contributor

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.
Apparently everything is fine now. I will close this issue as fixed. If anybody disagrees, just reopen.


Added Fixed label.

@DartBot DartBot added type-performance Issue relates to performance or code size Priority-Medium web-dart2js labels Sep 4, 2012
@DartBot DartBot added this to the Later milestone Sep 4, 2012
copybara-service bot pushed a commit that referenced this issue Jun 20, 2023
… 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 closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-performance Issue relates to performance or code size web-dart2js
Projects
None yet
Development

No branches or pull requests

4 participants