# rust-benchmark-simple **Repository Path**: mirrors_jedisct1/rust-benchmark-simple ## Basic Information - **Project Name**: rust-benchmark-simple - **Description**: A tiny, super simple and portable benchmarking library. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-22 - **Last Updated**: 2025-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # benchmark-simple A tiny benchmarking library for Rust. - Trivial to use - Works pretty much everywhere, including WebAssembly (WASI, but also in-browser) ```rust use benchmark_simple::*; fn test_function() { // ... } let bench = Bench::new(); let options = Options::default(); let res = bench.run(&options, || test_function()); println!("result: {}", res); ``` Throughput computation: ```rust use benchmark_simple::*; fn test_function(m: &mut [u8]) { // ... } let mut m = vec![0u8; 1_000_000]; let bench = Bench::new(); let options = Options::default(); let res = bench.run(&options, || test_function(&mut m)); let throughput = res.throughput(m.len() as _); println!("throughput: {}", throughput); ``` Options: ```rust pub struct Options { /// Number of iterations to perform. pub iterations: u64, /// Number of warm-up iterations to perform. pub warmup_iterations: u64, /// Minimum number of samples to collect. pub min_samples: usize, /// Maximum number of samples to collect. pub max_samples: usize, /// Maximum RSD to tolerate (in 0...100). pub max_rsd: f64, /// Maximum benchmark duration time. pub max_duration: Option, /// Verbose output pub verbose: bool, } ``` Benchmark results can be made verbose by setting `verbose` to `true` in the `Options` struct, or by defining a `BENCHMARK_VERBOSE` environment variable.