Skip to content

Out-of-process benchmarks for more stable wall time #127

Open

Description

@jzombie

When running the WallTime reporting on dedicated hardware, I'm seeing more fluctuation than I believe that Criterion is actually reporting.

I'm a bit concerned about using the compatibility layer as well, so I started working on a fork that runs Criterion without a compatibility layer and instead ingests the log files directly and sends them to CodSpeed.

If that works, I'm curious why instead of using process wrappers at all (and compatibility layers), why not just ingest all metrics for benchmarks and profiles directly from the disk and upload them to CodSpeed, instead of wrapping them in a process?

Activity

  1. jzombie commented on Oct 6, 2025

    @jzombie
    Author

    Update: Got baseline working and posting to CodSpeed without using Criterion compatibility adapter.

    jzombie#2

    Still need to work on test name resolution, but getting it to post was a major hurdle as it was initially difficult to debug errors.

    Image
  2. changed the title [-]Out-of-process benchmarks[/-] [+]Out-of-process benchmarks for more stable wall time[/+] on Oct 6, 2025
  3. jzombie commented on Oct 7, 2025

    @jzombie
    Author

    The number of fluctuations outside of my thresholds went from a dozen to two, so it seems to be more stable than the wrapped process.

    What's currently not working is proper source file detection.

    I am also curious about seeing if the flamegraph crate can be easily mapped to display profile info in codspeed.

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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