aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml7
-rw-r--r--benches/bench.rs28
2 files changed, 35 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 1b075af..6971481 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,10 +13,17 @@ categories = ["compilers", "encoding", "parser-implementations", "parsing", "tex
include = ["src/", "license"]
publish = false
+[[bench]]
+name = "bench"
+harness = false
+
[dependencies]
env_logger = "0.9"
log = "0.4"
+[dev-dependencies]
+criterion = "0.3"
+
[build-dependencies]
regex = "1.5"
reqwest = "0.11"
diff --git a/benches/bench.rs b/benches/bench.rs
new file mode 100644
index 0000000..2d0875e
--- /dev/null
+++ b/benches/bench.rs
@@ -0,0 +1,28 @@
+#[macro_use]
+extern crate criterion;
+use criterion::{BenchmarkId, Criterion};
+use micromark::micromark;
+use std::fs;
+
+fn readme(c: &mut Criterion) {
+ let doc = fs::read_to_string("readme.md").unwrap();
+
+ c.bench_with_input(BenchmarkId::new("readme", "readme"), &doc, |b, s| {
+ b.iter(|| micromark(s));
+ });
+}
+
+// fn one_and_a_half_mb(c: &mut Criterion) {
+// let doc = fs::read_to_string("../a-dump-of-markdown/markdown.md").unwrap();
+// let mut group = c.benchmark_group("giant");
+// group.sample_size(10);
+// group.bench_with_input(BenchmarkId::new("giant", "1.5 mb"), &doc, |b, s| {
+// b.iter(|| micromark(s));
+// });
+// group.finish();
+// }
+
+// one_and_a_half_mb
+
+criterion_group!(benches, readme);
+criterion_main!(benches);