Skip to content

Conversation

@konstin
Copy link
Member

@konstin konstin commented Nov 1, 2024

While pubgrub's performance is critical for both uv and cargo, there currently no benchmarking happening in the repository. Codspeed runs our benchmarks with instruction counting, reporting more numbers with less variance than wall time.

We get feedback on every PR, can see trends over time and there are flamegraphs and flamegraph diffs in the web view. We've made good experiences with it in both ruff and uv.

With codspeed installed, we can start adding real-world benchmarks for uv and cargo to the pubgrub repo, and then optimize those. Next to the large case example, i've added the synthetic but fun sudoku example.

While pubgrub's performance is critical for both uv and cargo, there currently no benchmarking happening in the repository. [Codspeed](https://codspeed.io) runs our benchmarks with instruction counting, reporting more numbers with less variance than wall time.

We get feedback on every PR, can see trends over time and there are flamegraphs and flamegraph diffs in the web view. We've made good experiences with it in both ruff and uv.

With codspeed installed, we can start adding real-world benchmarks for uv and cargo to the pubgrub repo, and then optimize those.
@konstin konstin changed the title Add codespeed for continuous (and sudoku) Add codespeed for continuous profiling (and sudoku) Nov 1, 2024
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 1, 2024

CodSpeed Performance Report

Congrats! CodSpeed is installed 🎉

🆕 3 new benchmarks were detected.

You will start to see performance impacts in the reports once the benchmarks are run from your default branch.

Detected benchmarks

  • large_case_u16_NumberVersion.ron (20.6 ms)
  • sudoku-easy (9.9 ms)
  • sudoku-hard (10.2 ms)

Copy link
Member

@Eh2406 Eh2406 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will need to do some research about how to use it, but this is clearly an improvement!


[dev-dependencies]
criterion = "0.5"
criterion = { version = "2.7.2", package = "codspeed-criterion-compat" }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this change how I would run benchmarks locally?

@Eh2406 Eh2406 added this pull request to the merge queue Nov 7, 2024
Merged via the queue into dev with commit eb3b386 Nov 7, 2024
6 checks passed
@Eh2406 Eh2406 deleted the konsti/dev/codspeed branch November 7, 2024 22:40
@Eh2406 Eh2406 mentioned this pull request Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants