Skip to content
/ lolbench Public

tracking performance of rustc-generated binaries over time

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

anp/lolbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 13, 2020
c136abc · Dec 13, 2020
Oct 13, 2018
Sep 15, 2019
Sep 14, 2019
Jul 21, 2018
Sep 14, 2019
Oct 13, 2018
Sep 2, 2018
Sep 5, 2018
Sep 14, 2019
Sep 1, 2018
Mar 26, 2019
Dec 13, 2020
Oct 14, 2018
Jul 21, 2018
Oct 7, 2018
Oct 8, 2018
Jul 31, 2019
Nov 2, 2018
Oct 10, 2018
Oct 10, 2018
Sep 14, 2019
Sep 17, 2018
Sep 16, 2018
Nov 2, 2018
Jul 31, 2019

lolbench

CI Status: CircleCI

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.

Adding Benchmarks

Want to contribute and are looking for the list of benchmarks we'd like help adding?

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.

About

tracking performance of rustc-generated binaries over time

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages