# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "criterion"
version = "0.3.5"
authors = ["Jorge Aparicio <japaricious@gmail.com>", "Brook Heisler <brookheisler@gmail.com>"]
exclude = ["book/*"]
description = "Statistics-driven micro-benchmarking library"
homepage = "https://bheisler.github.io/criterion.rs/book/index.html"
readme = "README.md"
keywords = ["criterion", "benchmark"]
categories = ["development-tools::profiling"]
license = "Apache-2.0/MIT"
repository = "https://github.com/bheisler/criterion.rs"
[package.metadata.docs.rs]
features = ["async_futures", "async_smol", "async_std", "async_tokio"]

[lib]
bench = false

[[bench]]
name = "bench_main"
harness = false
[dependencies.async-std]
version = "1.9"
optional = true

[dependencies.atty]
version = "0.2"

[dependencies.cast]
version = "0.2"

[dependencies.clap]
version = "2.33"
default-features = false

[dependencies.criterion-plot]
version = "0.4.4"

[dependencies.csv]
version = "1.1"

[dependencies.futures]
version = "0.3"
optional = true
default_features = false

[dependencies.itertools]
version = "0.10"

[dependencies.lazy_static]
version = "1.4"

[dependencies.num-traits]
version = "0.2"
default-features = false

[dependencies.oorandom]
version = "11.1"

[dependencies.plotters]
version = "^0.3.1"
features = ["svg_backend", "area_series", "line_series"]
default-features = false

[dependencies.rayon]
version = "1.3"

[dependencies.regex]
version = "1.3"
features = ["std"]
default-features = false

[dependencies.serde]
version = "1.0"

[dependencies.serde_cbor]
version = "0.11"

[dependencies.serde_derive]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.smol]
version = "1.2"
optional = true
default-features = false

[dependencies.tinytemplate]
version = "1.1"

[dependencies.tokio]
version = "1.0"
features = ["rt"]
optional = true
default-features = false

[dependencies.walkdir]
version = "2.3"
[dev-dependencies.approx]
version = "0.5.0"

[dev-dependencies.futures]
version = "0.3"
features = ["executor"]
default_features = false

[dev-dependencies.quickcheck]
version = "1.0"
default-features = false

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.tempfile]
version = "3.2.0"

[features]
async = ["futures"]
async_futures = ["futures/executor", "async"]
async_smol = ["smol", "async"]
async_std = ["async-std", "async"]
async_tokio = ["tokio", "async"]
cargo_bench_support = []
csv_output = []
default = ["cargo_bench_support"]
html_reports = []
real_blackbox = []
stable = ["async_futures", "async_smol", "async_tokio", "async_std"]
[badges.maintenance]
status = "passively-maintained"
