Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anp/lolbench
tracking performance of rustc-generated binaries over time
https://github.com/anp/lolbench
benchmarking criterion performance performance-monitoring regression-detection rust
Last synced: about 1 month ago
JSON representation
tracking performance of rustc-generated binaries over time
- Host: GitHub
- URL: https://github.com/anp/lolbench
- Owner: anp
- License: apache-2.0
- Created: 2018-02-22T23:20:18.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2022-12-02T13:57:17.000Z (about 2 years ago)
- Last Synced: 2023-11-07T17:06:57.058Z (about 1 year ago)
- Topics: benchmarking, criterion, performance, performance-monitoring, regression-detection, rust
- Language: Rust
- Homepage: https://lolbench.rs
- Size: 22.6 MB
- Stars: 103
- Watchers: 6
- Forks: 12
- Open Issues: 58
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# lolbench
CI Status: [![CircleCI](https://circleci.com/gh/anp/lolbench/tree/master.svg?style=shield)](https://circleci.com/gh/anp/workflows/lolbench)
This project is an effort to reproducibly benchmark "in the wild" Rust code against newer compiler versions to detect performance regressions. The data is currently published to [https://lolbench.rs](https://lolbench.rs).
## Adding Benchmarks
Want to contribute and are looking for the [list of benchmarks we'd like help adding](https://github.com/anp/lolbench/issues/1)?
## Getting Started
### Dependencies
- rustup
- clang (Linux only)### Building & Running
```
$ git submodule update --init
$ cargo test-core
```### Useful cargo subcommand aliases
- `cargo build-website` runs the website generator using the provided data directory. Pass the `--help` flag to see what's required.
- `cargo fmt-core` formats only those crates which should be rustfmt'd -- notably our fork of criterion isn't rustfmt-friendly right now. Useful for `cargo watch -x fmt-core`.
- `cargo test-core` runs the tests for every non-benchmark crate except for criterion. At writing, that's `lolbench`, `lolbench_support`, `lolbench_extractor`, and `marky_mark`.
- `cargo new-bench-crate` runs a lolbench command to create a new benchmark crate in the benches directory.
- `cargo build-all [--release]` builds a binary for every benchmark function. _caution: this will generate dozens of gigabytes of data in your target directory_.
- `cargo test-all` runs the test for every benchmark function, which consists of warming it up and running through a couple of iterations. _caution: this will generate dozens of gigabytes of data in your target directory_.## License
lolbench is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Some included benchmarks have their own separate licenses, see those directories and their Cargo.toml metadata for details.