Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Issue 331993005: Rewrite Zone implementation to avoid recursively looking up stuff in the parent chain. (Closed)

Created:
6 years, 6 months ago by Lasse Reichstein Nielsen
Modified:
6 years, 5 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, floitsch
Visibility:
Public.

Description

Rewrite Zone implementation to avoid recursively looking up stuff in the parent chain. Reuses as much as possible of the parent zone's implementation representation. Increases performance of primitive tests of only async operations by ~10% (but with a lot of variability and a spurious regression). R=floitsch@google.com Committed: https://code.google.com/p/dart/source/detail?r=37807

Patch Set 1 #

Total comments: 8

Patch Set 2 : Don't have custom _RootZoneDelegate, just use a normal _ZoneDelegate. #

Patch Set 3 : Address comments #

Patch Set 4 : Inadvertent edit. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+458 lines, -223 lines) Patch
M runtime/lib/timer_patch.dart View 1 chunk +16 lines, -15 lines 0 comments Download
M sdk/lib/_internal/lib/async_patch.dart View 3 chunks +19 lines, -16 lines 0 comments Download
M sdk/lib/async/broadcast_stream_controller.dart View 2 chunks +2 lines, -1 line 0 comments Download
M sdk/lib/async/schedule_microtask.dart View 2 chunks +6 lines, -6 lines 0 comments Download
M sdk/lib/async/stream_impl.dart View 1 chunk +1 line, -0 lines 0 comments Download
M sdk/lib/async/timer.dart View 1 chunk +4 lines, -3 lines 0 comments Download
M sdk/lib/async/zone.dart View 1 2 3 11 chunks +408 lines, -180 lines 0 comments Download
M tests/lib/async/run_zoned9_test.dart View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Lasse Reichstein Nielsen
6 years, 6 months ago (2014-06-24 12:20:23 UTC) #1
Anders Johnsen
Can you add some numbers for code-size (simple program using a custom zone, I guess).
6 years, 6 months ago (2014-06-24 12:21:59 UTC) #2
floitsch
LGTM but wait for Anders. https://codereview.chromium.org/331993005/diff/1/sdk/lib/async/zone.dart File sdk/lib/async/zone.dart (right): https://codereview.chromium.org/331993005/diff/1/sdk/lib/async/zone.dart#newcode703 sdk/lib/async/zone.dart:703: // We do not ...
6 years, 6 months ago (2014-06-24 12:50:30 UTC) #3
Lasse Reichstein Nielsen
https://codereview.chromium.org/331993005/diff/1/sdk/lib/async/zone.dart File sdk/lib/async/zone.dart (right): https://codereview.chromium.org/331993005/diff/1/sdk/lib/async/zone.dart#newcode957 sdk/lib/async/zone.dart:957: class _RootZoneDelegate implements ZoneDelegate { I can try with ...
6 years, 6 months ago (2014-06-24 14:56:06 UTC) #4
Anders Johnsen
On 2014/06/24 14:56:06, Lasse Reichstein Nielsen wrote: > https://codereview.chromium.org/331993005/diff/1/sdk/lib/async/zone.dart > File sdk/lib/async/zone.dart (right): > > ...
6 years, 6 months ago (2014-06-25 09:32:28 UTC) #5
Lasse Reichstein Nielsen
Address comments
6 years, 6 months ago (2014-06-25 11:20:58 UTC) #6
Lasse Reichstein Nielsen
Ok, I'll try committing this to see how much it affects size in real examples.
6 years, 5 months ago (2014-06-30 07:25:19 UTC) #7
Lasse Reichstein Nielsen
6 years, 5 months ago (2014-06-30 07:29:06 UTC) #8
Message was sent while issue was closed.
Committed patchset #4 manually as r37807 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698