dart-sdk/runtime
Ryan Macnak 08634ec4ee [vm] Remove thread time from the VM-internal recorders.
Querying the thread clock takes the overwhelming majority of time when using the VM-internal recorders (ring, startup, endless, file). Including the thread clocks in the timeline allowed visualizing roughly how much an event got scheduled out, but not when. This is a high price to pay for such fuzzy information. Precise scheduling information is available from Fuchsia tracing, systrace or Signposts.

```
import "dart:developer";
main() {
  var n = 1000000;
  var watch = new Stopwatch()..start();
  for (var i = 0; i < n; i++) {
    Timeline.timeSync("EventName", () {});
  }
  print("${watch.elapsedMicroseconds.toDouble() / n} us/event");
}
```

--timeline_recorder=ring      2.751822 -> 0.487936 us/event (5.64x)
--timeline_recorder=systrace  0.440439 -> 0.435997 us/event

TEST=ci
Bug: https://github.com/flutter/flutter/issues/121372
Change-Id: Ib6d625f28384a4e87df2a3305483f0f6facd08ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286661
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-03-03 19:05:28 +00:00
..
bin Roll Clang from 20d06c833d83 to 28ee6040710f. 2023-03-03 18:22:32 +00:00
docs [dart2js] Static weak references to method tearoffs 2023-03-02 20:04:19 +00:00
include [vm] Fix Dart_CObject_Type breaking change 2023-02-20 11:59:19 +00:00
lib [vm] Avoid a second map lookup when dispatching isolate messages. 2023-02-27 18:08:25 +00:00
observatory convert class M to mixin in observatory test 2023-02-28 22:45:14 +00:00
observatory_2 [VM/Service] Add support for class modifiers 2023-02-27 21:07:41 +00:00
platform Revert "[VM] Begin supporting Perfetto file recorder" 2023-02-28 12:41:00 +00:00
tests [gardening] Exclude lib/async/multiple_timer_test from isolate stress testing 2023-03-03 16:52:28 +00:00
third_party Spelling pkg analyzer lib 2023-01-25 14:08:27 +00:00
tools Revert "[VM] Begin supporting Perfetto file recorder" 2023-02-28 12:41:00 +00:00
vm [vm] Remove thread time from the VM-internal recorders. 2023-03-03 19:05:28 +00:00
.clang-tidy
.gitignore
BUILD.gn Revert "[VM] Begin supporting Perfetto file recorder" 2023-02-28 12:41:00 +00:00
codereview.settings
configs.gni [vm/ffi] FfiNative process lookup 2022-10-25 10:57:07 +00:00
CPPLINT.cfg [cpplint] Disable runtime/references lint 2023-01-23 18:21:48 +00:00
OWNERS
PRESUBMIT.py Revert "[VM] Begin supporting Perfetto file recorder" 2023-02-28 12:41:00 +00:00
runtime_args.gni Reland "[build] Make build_analyze_snapshot consistent between the host and target toolchains." 2023-02-07 18:45:20 +00:00