diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b5a1153..89f4d80a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [Unreleased] + ## [0.4.0] - IN DEVELOPMENT ### Removed @@ -35,6 +37,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - When using `bench_with_input`, the input parameter will now be passed through `black_box` before passing it to the benchmark. +## [0.3.6] - 2022-07-06 +### Changed +- MSRV bumped to 1.49 +- Symbol for microseconds changed from ASCII 'us' to unicode 'µs' +- Documentation fixes +- Clippy fixes + ## [0.3.5] - 2021-07-26 ### Fixed @@ -493,7 +502,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Initial release on Crates.io. +<<<<<<< HEAD [unreleased]: https://github.com/bheisler/criterion.rs/compare/0.3.4...HEAD +======= + +[Unreleased]: https://github.com/bheisler/criterion.rs/compare/0.3.6...HEAD +>>>>>>> master [0.1.1]: https://github.com/bheisler/criterion.rs/compare/0.1.0...0.1.1 [0.1.2]: https://github.com/bheisler/criterion.rs/compare/0.1.1...0.1.2 [0.2.0]: https://github.com/bheisler/criterion.rs/compare/0.1.2...0.2.0 @@ -514,3 +528,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. [0.3.3]: https://github.com/bheisler/criterion.rs/compare/0.3.2...0.3.3 [0.3.4]: https://github.com/bheisler/criterion.rs/compare/0.3.3...0.3.4 [0.3.5]: https://github.com/bheisler/criterion.rs/compare/0.3.4...0.3.5 +[0.3.5]: https://github.com/bheisler/criterion.rs/compare/0.3.5...0.3.6 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ec11e5cf..59ae0262 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,7 +60,7 @@ Some things that will increase the chance that your pull request is accepted: * PRs with breaking changes are made against the unreleased branch. e.g. branch version-0.4 * PRs without breaking changes are made against the master branch. -If your not sure which branch to use just start with master, as this can be changed during review. +If you're not sure which branch to use just start with master, as this can be changed during review. When it is time to release the unreleased branch, a PR is made from the unreleased branch to master. e.g. https://github.com/bheisler/criterion.rs/pull/496 diff --git a/Cargo.toml b/Cargo.toml index c7896289..75b37950 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,8 +3,8 @@ authors = [ "Jorge Aparicio ", "Brook Heisler ", ] -name = "criterion" -version = "0.3.5" +name = "criterion" +version = "0.3.6" edition = "2018" description = "Statistics-driven micro-benchmarking library" @@ -19,7 +19,7 @@ exclude = ["book/*"] [dependencies] anes = "0.1.4" lazy_static = "1.4" -criterion-plot = { path = "plot", version = "0.4.4" } +criterion-plot = { path = "plot", version = "0.4.5" } itertools = "0.10" serde = "1.0" serde_json = "1.0" @@ -29,7 +29,7 @@ atty = "0.2.6" clap = { version = "3.1", default-features = false, features = ["std"] } walkdir = "2.3" tinytemplate = "1.1" -cast = "0.2" +cast = "0.3" num-traits = { version = "0.2", default-features = false, features = ["std"] } oorandom = "11.1" regex = { version = "1.5", default-features = false, features = ["std"] } @@ -38,11 +38,13 @@ termcolor = "1.1.2" unicode-width = "0.1.9" # Optional dependencies -rayon = { version = "1.3", optional = true } -csv = { version = "1.1", optional = true } -futures = { version = "0.3", default_features = false, optional = true } -smol = { version = "1.2", default-features = false, optional = true } -tokio = { version = "1.0", default-features = false, features = ["rt"], optional = true } +rayon = { version = "1.3", optional = true } +csv = { version = "1.1", optional = true } +futures = { version = "0.3", default_features = false, optional = true } +smol = { version = "1.2", default-features = false, optional = true } +tokio = { version = "1.0", default-features = false, features = [ + "rt", +], optional = true } async-std = { version = "1.9", optional = true } [dependencies.plotters] @@ -62,7 +64,7 @@ futures = { version = "0.3", default_features = false, features = ["executor" maintenance = { status = "passively-maintained" } [features] -stable = [ +stable = [ "csv_output", "html_reports", "async_futures", diff --git a/README.md b/README.md index 5d0c433e..a243e983 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ For more details, see the [CONTRIBUTING.md file](https://github.com/bheisler/cri ### Compatibility Policy Criterion.rs supports the last three stable minor releases of Rust. At time of -writing, this means Rust 1.50 or later. Older versions may work, but are not guaranteed. +writing, this means Rust 1.59 or later. Older versions may work, but are not guaranteed. Currently, the oldest version of Rust believed to work is 1.56.1. Future versions of Criterion.rs may break support for such old versions, and this will not be considered a breaking change. If you diff --git a/book/src/user_guide/html_report.md b/book/src/user_guide/html_report.md index 095e0250..052a60a8 100644 --- a/book/src/user_guide/html_report.md +++ b/book/src/user_guide/html_report.md @@ -1,7 +1,7 @@ # HTML Report Criterion.rs can generate an HTML report displaying the results of the benchmark under -`target/criterion/report/index.html`. By default, the plots are generated using +`target/criterion/reports/index.html`. By default, the plots are generated using [gnuplot](http://www.gnuplot.info/) if it is available, or the [plotters](https://github.com/38/plotters) crate if it is not. The example below was generated using the gnuplot backend, but the charts generated by plotters are similar. diff --git a/plot/Cargo.toml b/plot/Cargo.toml index 76e0064d..d7e78e0a 100644 --- a/plot/Cargo.toml +++ b/plot/Cargo.toml @@ -1,7 +1,7 @@ [package] authors = ["Jorge Aparicio ", "Brook Heisler "] name = "criterion-plot" -version = "0.4.4" +version = "0.4.5" edition = "2018" description = "Criterion's plotting library" @@ -12,13 +12,13 @@ categories = ["visualization"] license = "MIT/Apache-2.0" [dependencies] -cast = "0.2" +cast = "0.3" itertools = "0.10" [dev-dependencies] itertools-num = "0.1" -num-complex = { version = "0.2", default-features = false, features = ["std"] } -rand = "0.4" +num-complex = { version = "0.4", default-features = false, features = ["std"] } +rand = "0.8" [badges] travis-ci = { repository = "bheisler/criterion.rs" } diff --git a/plot/src/lib.rs b/plot/src/lib.rs index 864c4531..be511058 100644 --- a/plot/src/lib.rs +++ b/plot/src/lib.rs @@ -79,7 +79,7 @@ //! use std::f64::consts::PI; //! //! use itertools_num::linspace; -//! use rand::{Rng, XorShiftRng}; +//! use rand::Rng; //! use criterion_plot::prelude::*; //! //! fn sinc(mut x: f64) -> f64 { @@ -97,7 +97,7 @@ //! let ref xs_ = linspace::(-4., 4., 101).collect::>(); //! //! // Fake some data -//! let ref mut rng: XorShiftRng = rand::thread_rng().gen(); +//! let ref mut rng = rand::thread_rng(); //! let xs = linspace::(-4., 4., 13).skip(1).take(11); //! let ys = xs.map(|x| sinc(x) + 0.05 * rng.gen::() - 0.025).collect::>(); //! let y_low = ys.iter().map(|&y| y - 0.025 - 0.075 * rng.gen::()).collect::>(); diff --git a/src/benchmark_group.rs b/src/benchmark_group.rs index 3738c313..5ca0ab3b 100644 --- a/src/benchmark_group.rs +++ b/src/benchmark_group.rs @@ -290,7 +290,8 @@ impl<'a, M: Measurement> BenchmarkGroup<'a, M> { assert!( !self.all_ids.contains(&id), - "Benchmark IDs must be unique within a group." + "Benchmark IDs must be unique within a group. Encountered duplicated benchmark ID {}", + &id ); id.ensure_directory_name_unique(&self.criterion.all_directories);