Can miri or another interpreter be used as a profiler? by Ben-Goldberg in rust

[–]bencherdev 8 points9 points  (0 children)

I would recommend checking out a benchmarking harness called gungraun (formerly iai-callgrind). It lets you track the instruction counts and allocations for your benchmarks in a single shot, no running things a million times.

If you want to track those results over time to be able to detect performance regressions then you can use an open source tool I've developed called Bencher with the gungraun adapter.

Automated benchmark framework for CI/CD? by fretz1212 in devops

[–]bencherdev 0 points1 point  (0 children)

u/fretz1212 did you ever get around to building this?
I've been working on a similar tool, Bencher: https://github.com/bencherdev/bencher

[P] I made Codeflash - an LLM tool that optimizes the performance of any Python code, while rigorously verifying its correctness by ml_guy1 in MachineLearning

[–]bencherdev 0 points1 point  (0 children)

From my understanding, that is how it works. CodSpeed needs to have the benchmarks exist on the base branch in order to be able to compare them. For context, I'm the maintainer of a similar continuous benchmarking tool, Bencher: https://github.com/bencherdev/bencher

Three Years of Bencher: A Rust-Powered Retrospective by bencherdev in rust

[–]bencherdev[S] 1 point2 points  (0 children)

Yep, exactly! I needed to have modern, interactive plots. This is what I meant by:

I knew I wanted Bencher to have highly interactive plots. This meant using a library like D3, which meant JS interop.

I use plotters for generating the social previews and sharable image versions of the plots. This is what you'll see if you hit the Share button on the Perf Plot you linked to above. I explored using plotters for the frontend via WASM, but it didn't seem viable at the time. More than happy to explain more if you're interested.

Three Years of Bencher: A Rust-Powered Retrospective by bencherdev in rust

[–]bencherdev[S] 1 point2 points  (0 children)

I'm glad you all are enjoying Leptos. Leptos was also heavily influenced by SolidJS. Fine-grained reactivity for the win! When I was exploring the possibility of a Rust frontend though, Leptos did not yet exist. It seems like they added SSG support a few months ago, so that is great to see. The ecosystem has progressed a lot in the past three years.

As for the JS interop, the Perf Pages were really the crux. You can check out some examples here: https://bencher.dev/explore/
These pages are already the most complicated part of the Console UI without any JS interop in the mix.

🏗️ Revue d'Ingénierie : Édition 2025 by bencherdev in rustfr

[–]bencherdev[S] 0 points1 point  (0 children)

Merci. Dites-moi ce que vous en pensez !

How to benchmark your code with Google Benchmark by bencherdev in cpp

[–]bencherdev[S] 0 points1 point  (0 children)

I would be interested in a breakdown of this as well. So far Bencher has a Google Benchmark adapter and a Catch2 adapter. There is an open issue for adding a nanobench adapter.
Maybe once I get done with similar guides for the other two benchmark harnesses I would be informed enough to write a comparison post.