From 96c1ad0ef90291d803b200d14c895e34ce5fa7fa Mon Sep 17 00:00:00 2001 From: Magnus Hallin Date: Mon, 26 Dec 2016 12:16:19 +0100 Subject: [PATCH] Use bencher crate to run benchmarks on stable rust --- Cargo.toml | 6 ++++++ {src/tests => benches}/bench.rs | 22 +++++++++++++--------- src/tests/mod.rs | 3 --- 3 files changed, 19 insertions(+), 12 deletions(-) rename {src/tests => benches}/bench.rs (76%) diff --git a/Cargo.toml b/Cargo.toml index 8d03d518..89882df1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,11 @@ repository = "https://github.com/mhallin/juniper" readme = "README.md" keywords = ["graphql", "server", "iron", "http", "web"] +[[bench]] +name = "bench" +harness = false +path = "benches/bench.rs" + [features] default = [] nightly = [] @@ -25,3 +30,4 @@ router = "^0.2.0" mount = "^0.2.1" logger = "^0.1.0" iron-test = "^0.4.0" +bencher = "^0.1.2" diff --git a/src/tests/bench.rs b/benches/bench.rs similarity index 76% rename from src/tests/bench.rs rename to benches/bench.rs index 27c39031..a5ea5840 100644 --- a/src/tests/bench.rs +++ b/benches/bench.rs @@ -1,14 +1,16 @@ -use test::Bencher; +#[macro_use] extern crate bencher; +extern crate juniper; + +use bencher::Bencher; use std::collections::{HashMap}; -use schema::model::RootNode; -use tests::model::Database; +use juniper::{execute, RootNode, EmptyMutation}; +use juniper::tests::model::Database; -#[bench] fn query_type_name(b: &mut Bencher) { let database = Database::new(); - let schema = RootNode::new(&database, ()); + let schema = RootNode::new(&database, EmptyMutation::::new()); let doc = r#" query IntrospectionQueryTypeQuery { @@ -19,13 +21,12 @@ fn query_type_name(b: &mut Bencher) { } }"#; - b.iter(|| ::execute(doc, None, &schema, &HashMap::new(), &database)); + b.iter(|| execute(doc, None, &schema, &HashMap::new(), &database)); } -#[bench] fn introspection_query(b: &mut Bencher) { let database = Database::new(); - let schema = RootNode::new(&database, ()); + let schema = RootNode::new(&database, EmptyMutation::::new()); let doc = r#" query IntrospectionQuery { @@ -121,5 +122,8 @@ fn introspection_query(b: &mut Bencher) { } "#; - b.iter(|| ::execute(doc, None, &schema, &HashMap::new(), &database)); + b.iter(|| execute(doc, None, &schema, &HashMap::new(), &database)); } + +benchmark_group!(queries, query_type_name, introspection_query); +benchmark_main!(queries); diff --git a/src/tests/mod.rs b/src/tests/mod.rs index 6ffadc36..7cdbb6ef 100644 --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -2,6 +2,3 @@ pub mod model; mod schema; pub mod query_tests; pub mod introspection_tests; - -#[cfg(feature="nightly")] -pub mod bench;