189ffd9460
With recent CLs we always store maximum N async stack traces and when we reach limit we drop half of them. Current promise collected event requires creating weak handle: - it takes time, - it consumes memory. Since async task id distribution for promises is uniform (each new promise has last_async_task_id + 1 as an id) our hash map is good enough to handle any amount of async task ids, following time of executing 1 000 000 000 of lookups: - for empty hash map: 1.45 seconds, - for hash map with one entry: 14.95 seconds - 1024 entries: 15.03 seconds - 1024 * 1024 entries: 14.82 seconds - 1024 * 1024 * 1024: 17.9 seconds BUG=v8:6189 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2819423005 Cr-Commit-Position: refs/heads/master@{#44750}
38 lines
801 B
Plaintext
38 lines
801 B
Plaintext
Checks that we collect obsolete async tasks with async stacks.
|
|
Async stacks count: 2
|
|
Scheduled async tasks: 1
|
|
Created async tasks: 1
|
|
Async tasks with parent: 0
|
|
Recurring async tasks: 1
|
|
|
|
Async stacks count: 0
|
|
Scheduled async tasks: 0
|
|
Created async tasks: 0
|
|
Async tasks with parent: 0
|
|
Recurring async tasks: 0
|
|
|
|
Async stacks count: 2
|
|
Scheduled async tasks: 0
|
|
Created async tasks: 2
|
|
Async tasks with parent: 2
|
|
Recurring async tasks: 0
|
|
|
|
Async stacks count: 0
|
|
Scheduled async tasks: 0
|
|
Created async tasks: 0
|
|
Async tasks with parent: 0
|
|
Recurring async tasks: 0
|
|
|
|
Async stacks count: 1
|
|
Scheduled async tasks: 1
|
|
Created async tasks: 0
|
|
Async tasks with parent: 0
|
|
Recurring async tasks: 0
|
|
|
|
Async stacks count: 0
|
|
Scheduled async tasks: 0
|
|
Created async tasks: 0
|
|
Async tasks with parent: 0
|
|
Recurring async tasks: 0
|
|
|