• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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