-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Isolate.exit()
s synchronous message validation happens in NoSafepointScope
which harms responsiveness
#49050
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
Comments
/cc @mit-mit |
Sure, thank you for putting the benchmark together. 10M objects in the exit message is quite a bit though! :-) |
Some users do run
|
Thanks for looking into it, @aam ! |
This measures latency induced by one isolate send-and-exiting on concurrently running isolates. The benchmark report format mimics EventLoopLatency benchmark, in a way it reports "runtime" as a latency. TEST=manual run of benchmarks Bug: #49050 Change-Id: I20642fd75bd24870658d553b0775f62083544bdb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246620 Reviewed-by: Martin Kustermann <[email protected]> Commit-Queue: Alexander Aprelev <[email protected]>
A benchmark should be in a directory with the same name as the benchmark main file. Bug: #49050 Change-Id: I31c0a9f276d313ab43d61be8ac3833b77ae8ee47 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247387 Commit-Queue: Alexander Aprelev <[email protected]> Reviewed-by: Alexander Aprelev <[email protected]> Auto-Submit: William Hesse <[email protected]>
The message validation code for
Isolate.exit()
runs synchronously inNoSafepointScope
, see runtime/lib/isolate.cc:This is not a problem if no other threads want to safepoint, but if e.g. a UI isolate allocates widgets and will want to GC, it may have to wait for a long time (depending on how large the
Isolate.exit()
ed message is).See a reproduction in isolate_exit_pause_time_issue.dart, which results in:
/cc @aam Could you look into this?
The text was updated successfully, but these errors were encountered: