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

x64 mode 100 times slower than ia32 mode on Map.containsValue #3009

Closed
whesse opened this issue May 11, 2012 · 2 comments
Closed

x64 mode 100 times slower than ia32 mode on Map.containsValue #3009

whesse opened this issue May 11, 2012 · 2 comments
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@whesse
Copy link
Contributor

whesse commented May 11, 2012

The test co19/LibTest/core/Map/Map_class_A01_04t.dart is timing out on x64 checked mode.
I tried turning off optimization on ia32 to reproduce it, using optimization_counter_threshold -1, but that just speeded ia32 up, from 2 seconds to 0.3 seconds. (x64 takes 150 seconds).

If this is to be expected, given the current x64 compiler, feel free to close the bug.

The test Map_class_A01-04 is also badly written, since it calls Map.containsValue about 20,000 times on maps containing 1,000 pairs. I am filing a separate bug for that.

@ghost
Copy link

ghost commented May 11, 2012

x64 has not implemented yet the fast inlined type checking mode, which is active both in optimized and unoptimized compilers. You can probably see that ia32 is doing fewer runtime calls than x64 (--trace-runtime-calls) when running in checked mode


cc @crelier.
Set owner to @sgmitrovic.
Added Accepted label.

@ghost
Copy link

ghost commented May 22, 2012

On x64 the performance difference (release mode) between checked and production mode is about 2x now (12.8 secs vs 27 secs). ia32 in non-optimized mode run is 16secs vs 36secs. x64 seems to be running better.


Added Fixed label.

@whesse whesse added Type-Defect area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels May 22, 2012
@whesse whesse assigned ghost May 22, 2012
dart-bot pushed a commit that referenced this issue May 21, 2021
New commits include:
```
git log --format="%C(auto) %h %s" 00c00e8adf9706bebe8f94483b7663c5f36f59d2..def32ceb1d660552eaec24839d377199aea5a569
 def32ceb Revert "Revert "Use the frontend server to compile pub executables (#2968)" (#3006)" (#3008)
 0dc7e50c Make `.gitignore` and `.pubignore` case-insensitive on Windows / MacOS (#3009)
 e89d4ab8 Generate GNU-style long file names in tar archives (#3005)
 d2ad13d0 Revert "Use the frontend server to compile pub executables (#2968)" (#3006)
 492b15ba New binstubs for global activate using `dart pub` (#3002)
 e02f23bb fix grammer in .gitignore error message (#2995)
 e01e3a41 Use the frontend server to compile pub executables (#2968)
 647989c6 Use RetryClient from package:http/retry.dart (#2980)
```

Change-Id: I9a0b5fb2b5616a5a0eaa16f3a90205bb1bb1fc8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200878
Auto-Submit: Jonas Jensen <[email protected]>
Commit-Queue: Alexander Thomas <[email protected]>
Reviewed-by: Alexander Thomas <[email protected]>
dart-bot pushed a commit that referenced this issue May 21, 2021
This reverts commit 5c9e37f.

Reason for revert: flutter builds on golem somehow broke.

Original change's description:
> Bump pub.
>
> New commits include:
> ```
> git log --format="%C(auto) %h %s" 00c00e8adf9706bebe8f94483b7663c5f36f59d2..def32ceb1d660552eaec24839d377199aea5a569
>  def32ceb Revert "Revert "Use the frontend server to compile pub executables (#2968)" (#3006)" (#3008)
>  0dc7e50c Make `.gitignore` and `.pubignore` case-insensitive on Windows / MacOS (#3009)
>  e89d4ab8 Generate GNU-style long file names in tar archives (#3005)
>  d2ad13d0 Revert "Use the frontend server to compile pub executables (#2968)" (#3006)
>  492b15ba New binstubs for global activate using `dart pub` (#3002)
>  e02f23bb fix grammer in .gitignore error message (#2995)
>  e01e3a41 Use the frontend server to compile pub executables (#2968)
>  647989c6 Use RetryClient from package:http/retry.dart (#2980)
> ```
>
> Change-Id: I9a0b5fb2b5616a5a0eaa16f3a90205bb1bb1fc8f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200878
> Auto-Submit: Jonas Jensen <[email protected]>
> Commit-Queue: Alexander Thomas <[email protected]>
> Reviewed-by: Alexander Thomas <[email protected]>

[email protected],[email protected]

Change-Id: I635e1c2db8ae965881359d4969cbd506348b0ed0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201000
Reviewed-by: Jonas Jensen <[email protected]>
Commit-Queue: Jonas Jensen <[email protected]>
dart-bot pushed a commit that referenced this issue May 25, 2021
This is a reland of 5c9e37f
Following update of `DEPS` in `flutter/engine`:
  flutter/engine#26395

New commits include:
```
git log --format="%C(auto) %h %s" 00c00e8adf9706bebe8f94483b7663c5f36f59d2..def32ceb1d660552eaec24839d377199aea5a569
 def32ceb Revert "Revert "Use the frontend server to compile pub executables (#2968)" (#3006)" (#3008)
 0dc7e50c Make `.gitignore` and `.pubignore` case-insensitive on Windows / MacOS (#3009)
 e89d4ab8 Generate GNU-style long file names in tar archives (#3005)
 d2ad13d0 Revert "Use the frontend server to compile pub executables (#2968)" (#3006)
 492b15ba New binstubs for global activate using `dart pub` (#3002)
 e02f23bb fix grammer in .gitignore error message (#2995)
 e01e3a41 Use the frontend server to compile pub executables (#2968)
 647989c6 Use RetryClient from package:http/retry.dart (#2980)
```

Original change's description:
> Change-Id: I9a0b5fb2b5616a5a0eaa16f3a90205bb1bb1fc8f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200878
> Auto-Submit: Jonas Jensen <[email protected]>
> Commit-Queue: Alexander Thomas <[email protected]>
> Reviewed-by: Alexander Thomas <[email protected]>

Change-Id: I1a0570318c63ec97fd141d79b405f55105111077
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201260
Commit-Queue: Jonas Jensen <[email protected]>
Reviewed-by: Alexander Thomas <[email protected]>
copybara-service bot pushed a commit that referenced this issue May 20, 2022
…25 revisions)

https://dart.googlesource.com/dartdoc/+log/334072b0cad4..cf0685a2d1ce

2022-05-19 [email protected] Create scorecards-analysis.yml (#3032)
2022-05-18 [email protected] Add the docs.dart.js.map file to published package (#3042)
2022-05-17 [email protected] Reintroduce query param search (#3026)
2022-05-17 [email protected] Include docs.dart.js in published code (#3040)
2022-05-17 [email protected] Optimize built js (#3028)
2022-05-17 [email protected] Use dart run instead of deprecated dart pub run (#3038)
2022-05-17 [email protected] fix exception for empty dartdoc_options.yaml file (#3034)
2022-05-16 [email protected] Fix build config (#3035)
2022-05-02 [email protected] Drop version back to 5.1.0 (#3031)
2022-05-02 [email protected] Fixed: YouTube directive respects width/height argument (#3030)
2022-04-19 [email protected] Update pubspec.yaml (#3025)
2022-04-12 [email protected] Remove dead field commentRefs, which is always empty (#3021)
2022-04-12 [email protected] make the converted web frontend follow Dart conventions (#3020)
2022-04-11 [email protected] convert lib/resources/script.js to Dart (#3016)
2022-04-11 49699333+dependabot[bot]@users.noreply.github.com Bump actions/cache from 3.0.1 to 3.0.2 (#3019)
2022-04-10 [email protected] rename the CI script (#3017)
2022-04-08 49699333+dependabot[bot]@users.noreply.github.com Bump actions/cache from 2 to 3.0.1 (#3014)
2022-04-08 49699333+dependabot[bot]@users.noreply.github.com Bump markdown from 4.0.1 to 5.0.0 (#3015)
2022-04-08 [email protected] Move many static declarations to top-level; avoid RegExp (#3009)
2022-04-08 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 2 to 3 (#3013)
2022-04-07 [email protected] Add a web frontend (#3011)
2022-04-07 [email protected] enable dependabot deps checks (#3012)
2022-04-07 [email protected] Do not store the AstNode on ModelNode; eagerly grab the source indexes (#3008)
2022-04-07 [email protected] Create a .pubignore in order to skip testing files from publish check (#3010)
2022-03-29 [email protected] Bump to version 5.1.0 (#3006)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-doc-dart-sdk
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Dart Documentation Generator: https://github.com/dart-lang/dartdoc/issues
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I3467a27d6947c43f7f41acbb2959d72863fd8a34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245483
Commit-Queue: Devon Carew <[email protected]>
Reviewed-by: Devon Carew <[email protected]>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

1 participant