1[package] 2authors = [ 3 "Jorge Aparicio <japaricious@gmail.com>", 4 "Brook Heisler <brookheisler@gmail.com>", 5] 6name = "criterion" 7version = "0.4.0" 8edition = "2018" 9 10description = "Statistics-driven micro-benchmarking library" 11homepage = "https://bheisler.github.io/criterion.rs/book/index.html" 12repository = "https://github.com/bheisler/criterion.rs" 13readme = "README.md" 14keywords = ["criterion", "benchmark"] 15categories = ["development-tools::profiling"] 16license = "Apache-2.0/MIT" 17exclude = ["book/*"] 18 19[dependencies] 20anes = "0.1.4" 21lazy_static = "1.4" 22criterion-plot = { path = "plot", version = "0.5.0" } 23itertools = "0.10" 24serde = "1.0" 25serde_json = "1.0" 26serde_derive = "1.0" 27ciborium = "0.2.0" 28atty = "0.2.6" 29clap = { version = "3.1", default-features = false, features = ["std"] } 30walkdir = "2.3" 31tinytemplate = "1.1" 32cast = "0.3" 33num-traits = { version = "0.2", default-features = false, features = ["std"] } 34oorandom = "11.1" 35regex = { version = "1.5", default-features = false, features = ["std"] } 36 37# Optional dependencies 38rayon = { version = "1.3", optional = true } 39csv = { version = "1.1", optional = true } 40futures = { version = "0.3", default_features = false, optional = true } 41smol = { version = "1.2", default-features = false, optional = true } 42tokio = { version = "1.0", default-features = false, features = [ 43 "rt", 44], optional = true } 45async-std = { version = "1.9", optional = true } 46 47[dependencies.plotters] 48version = "^0.3.1" 49optional = true 50default-features = false 51features = ["svg_backend", "area_series", "line_series"] 52 53[dev-dependencies] 54tempfile = "3.2.0" 55approx = "0.5.0" 56quickcheck = { version = "1.0", default-features = false } 57rand = "0.8" 58futures = { version = "0.3", default_features = false, features = ["executor"] } 59 60[badges] 61maintenance = { status = "passively-maintained" } 62 63[features] 64stable = [ 65 "csv_output", 66 "html_reports", 67 "async_futures", 68 "async_smol", 69 "async_tokio", 70 "async_std", 71] 72default = ["rayon", "plotters", "cargo_bench_support"] 73 74# Enable use of the nightly-only test::black_box function to discourage compiler optimizations. 75real_blackbox = [] 76 77# Enable async/await support 78async = ["futures"] 79 80# These features enable built-in support for running async benchmarks on each different async 81# runtime. 82async_futures = ["futures/executor", "async"] 83async_smol = ["smol", "async"] 84async_tokio = ["tokio", "async"] 85async_std = ["async-std", "async"] 86 87# This feature _currently_ does nothing except disable a warning message, but in 0.4.0 it will be 88# required in order to have Criterion.rs generate its own plots (as opposed to using cargo-criterion) 89html_reports = [] 90 91# This feature _currently_ does nothing except disable a warning message, but in 0.4.0 it will be 92# required in order to have Criterion.rs be usable outside of cargo-criterion. 93cargo_bench_support = [] 94 95# This feature _currently_ does nothing, but in 0.4.0 it will be 96# required in order to have Criterion.rs generate CSV files. This feature is deprecated in favor of 97# cargo-criterion's --message-format=json option. 98csv_output = ["csv"] 99 100[workspace] 101exclude = ["cargo-criterion"] 102 103[[bench]] 104name = "bench_main" 105harness = false 106 107[lib] 108bench = false 109 110# Enable all of the async runtimes for the docs.rs output 111[package.metadata.docs.rs] 112features = ["async_futures", "async_smol", "async_std", "async_tokio"] 113