Skip to content

Re-enable or reconsider GC-heavy benchmarks #14257

@mx-psi

Description

@mx-psi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions