-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Description
Some of the benchmarks we have are GC-heavy and they can be quite noisy because of the variance introduced by it.
A particular case where this is noticeable is when the GC has to make syscalls like runtime.tgkill, runtime.usleep or runtime.futex can take on the order of 30-50ms, which, for a benchmark that runs for a few hundreds of milliseconds it can be a big % of time.
It may be that the solution is just "make the benchmark take 1-2 orders of magnitude more time" per op, or just stopping the GC from running if the interesting part is not the allocation-heavy part of the code.
As a stopgap measure while someone has the time to investigate that, I have created a helper function to skip the biggest offenders on this aspect.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels