[package] authors = [ "Jorge Aparicio ", "Brook Heisler ", ] name = "criterion" version = "0.5.1" edition = "2018" description = "Statistics-driven micro-benchmarking library" homepage = "https://bheisler.github.io/criterion.rs/book/index.html" repository = "https://github.com/bheisler/criterion.rs" readme = "README.md" keywords = ["criterion", "benchmark"] categories = ["development-tools::profiling"] license = "Apache-2.0 OR MIT" exclude = ["book/*"] [dependencies] anes = "0.1.4" once_cell = "1.14" criterion-plot = { path = "plot", version = "0.5.0" } itertools = "0.10" serde = "1.0" serde_json = "1.0" serde_derive = "1.0" ciborium = "0.2.0" is-terminal = "0.4.6" clap = { version = "4", default-features = false, features = ["std"] } walkdir = "2.3" tinytemplate = "1.1" 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"] } # 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 } async-std = { version = "1.9", optional = true } [dependencies.plotters] version = "^0.3.1" optional = true default-features = false features = ["svg_backend", "area_series", "line_series"] [dev-dependencies] tempfile = "~3.5.0" approx = "0.5.0" quickcheck = { version = "1.0", default-features = false } rand = "0.8" futures = { version = "0.3", default_features = false, features = ["executor"] } [badges] maintenance = { status = "passively-maintained" } [features] stable = [ "csv_output", "html_reports", "async_futures", "async_smol", "async_tokio", "async_std", ] default = ["rayon", "plotters", "cargo_bench_support"] # Enable use of the nightly-only test::black_box function to discourage compiler optimizations. real_blackbox = [] # Enable async/await support async = ["futures"] # These features enable built-in support for running async benchmarks on each different async # runtime. async_futures = ["futures/executor", "async"] async_smol = ["smol", "async"] async_tokio = ["tokio", "async"] async_std = ["async-std", "async"] # This feature _currently_ does nothing except disable a warning message, but in 0.4.0 it will be # required in order to have Criterion.rs generate its own plots (as opposed to using cargo-criterion) html_reports = [] # This feature _currently_ does nothing except disable a warning message, but in 0.4.0 it will be # required in order to have Criterion.rs be usable outside of cargo-criterion. cargo_bench_support = [] # This feature _currently_ does nothing, but in 0.4.0 it will be # required in order to have Criterion.rs generate CSV files. This feature is deprecated in favor of # cargo-criterion's --message-format=json option. csv_output = ["csv"] [workspace] exclude = ["cargo-criterion"] [[bench]] name = "bench_main" harness = false [lib] bench = false # Enable all of the async runtimes for the docs.rs output [package.metadata.docs.rs] features = ["async_futures", "async_smol", "async_std", "async_tokio"]