From 165214018c89d605f0fe0b589a23a360ddc56a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Mon, 6 Apr 2020 12:49:54 +0200 Subject: [PATCH] Move benchmarks to seperate crate "aquatic_bench" --- Cargo.lock | 13 +++++++++-- Cargo.toml | 8 +------ TODO.md | 2 -- aquatic/Cargo.toml | 21 ++--------------- aquatic/src/lib/lib.rs | 1 - aquatic_bench/Cargo.toml | 23 +++++++++++++++++++ .../src/bin/bench_handlers/announce.rs | 2 +- .../src/bin/bench_handlers/common.rs | 0 .../src/bin/bench_handlers/connect.rs | 0 .../src/bin/bench_handlers/main.rs | 0 .../src/bin/bench_handlers/scrape.rs | 2 +- .../src/bin/plot_pareto.rs | 2 +- .../src/lib.rs | 0 13 files changed, 40 insertions(+), 34 deletions(-) create mode 100644 aquatic_bench/Cargo.toml rename {aquatic => aquatic_bench}/src/bin/bench_handlers/announce.rs (98%) rename {aquatic => aquatic_bench}/src/bin/bench_handlers/common.rs (100%) rename {aquatic => aquatic_bench}/src/bin/bench_handlers/connect.rs (100%) rename {aquatic => aquatic_bench}/src/bin/bench_handlers/main.rs (100%) rename {aquatic => aquatic_bench}/src/bin/bench_handlers/scrape.rs (98%) rename {aquatic => aquatic_bench}/src/bin/plot_pareto.rs (96%) rename aquatic/src/lib/bench_utils.rs => aquatic_bench/src/lib.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index a6b5d25..43bf598 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,11 +28,20 @@ dependencies = [ "mimalloc", "mio", "net2", - "num-format", - "plotly", "quickcheck", "quickcheck_macros", "rand", +] + +[[package]] +name = "aquatic_bench" +version = "0.1.0" +dependencies = [ + "aquatic", + "mimalloc", + "num-format", + "plotly", + "rand", "rand_distr", ] diff --git a/Cargo.toml b/Cargo.toml index f3b691a..0f76a4e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,15 +3,9 @@ members = [ "bittorrent_udp", "aquatic", + "aquatic_bench", ] -[profile.dev] -debug = true - [profile.release] debug = true -lto = true - -[profile.bench] -opt-level = 3 lto = true \ No newline at end of file diff --git a/TODO.md b/TODO.md index 70adff6..226df71 100644 --- a/TODO.md +++ b/TODO.md @@ -6,9 +6,7 @@ * Cleaner code * Stack-allocated vector? * Benchmarks - * Move to own crate (aquatic_bench) * Better black_box (or make sure to consume data) - * Show standard deviation? * Send in connect reponse ids to other functions as integration test * target-cpu=native diff --git a/aquatic/Cargo.toml b/aquatic/Cargo.toml index bb0bd0c..a32a967 100644 --- a/aquatic/Cargo.toml +++ b/aquatic/Cargo.toml @@ -11,31 +11,14 @@ path = "src/lib/lib.rs" [[bin]] name = "aquatic" -[[bin]] -name = "bench_handlers" - -[[bin]] -name = "plot_pareto" - [dependencies] bittorrent_udp = { path = "../bittorrent_udp" } dashmap = "3" indexmap = "1" mimalloc = "0.1" +mio = { version = "0.7", features = ["udp", "os-poll", "os-util"] } net2 = "0.2" - -# bench_handlers / plot_pareto -num-format = "0.4" -rand_distr = "0.2" -plotly = "0.4" - -[dependencies.mio] -version = "0.7" -features = ["udp", "os-poll", "os-util"] - -[dependencies.rand] -version = "0.7" -features = ["small_rng"] +rand = { version = "0.7", features = ["small_rng"] } [dev-dependencies] quickcheck = "0.9" diff --git a/aquatic/src/lib/lib.rs b/aquatic/src/lib/lib.rs index 1596e67..a979983 100644 --- a/aquatic/src/lib/lib.rs +++ b/aquatic/src/lib/lib.rs @@ -1,6 +1,5 @@ use std::time::Duration; -pub mod bench_utils; pub mod common; pub mod handlers; pub mod network; diff --git a/aquatic_bench/Cargo.toml b/aquatic_bench/Cargo.toml new file mode 100644 index 0000000..ae311fd --- /dev/null +++ b/aquatic_bench/Cargo.toml @@ -0,0 +1,23 @@ + +[package] +name = "aquatic_bench" +version = "0.1.0" +authors = ["Joakim FrostegÄrd "] +edition = "2018" + +[lib] +name = "aquatic_bench" + +[[bin]] +name = "bench_handlers" + +[[bin]] +name = "plot_pareto" + +[dependencies] +aquatic = { path = "../aquatic" } +mimalloc = "0.1" +num-format = "0.4" +plotly = "0.4" +rand_distr = "0.2" +rand = { version = "0.7", features = ["small_rng"] } \ No newline at end of file diff --git a/aquatic/src/bin/bench_handlers/announce.rs b/aquatic_bench/src/bin/bench_handlers/announce.rs similarity index 98% rename from aquatic/src/bin/bench_handlers/announce.rs rename to aquatic_bench/src/bin/bench_handlers/announce.rs index 047b20e..924dceb 100644 --- a/aquatic/src/bin/bench_handlers/announce.rs +++ b/aquatic_bench/src/bin/bench_handlers/announce.rs @@ -4,9 +4,9 @@ use std::net::SocketAddr; use rand::Rng; use rand_distr::Pareto; -use aquatic::bench_utils::*; use aquatic::handlers::*; use aquatic::common::*; +use aquatic_bench::*; use crate::common::*; diff --git a/aquatic/src/bin/bench_handlers/common.rs b/aquatic_bench/src/bin/bench_handlers/common.rs similarity index 100% rename from aquatic/src/bin/bench_handlers/common.rs rename to aquatic_bench/src/bin/bench_handlers/common.rs diff --git a/aquatic/src/bin/bench_handlers/connect.rs b/aquatic_bench/src/bin/bench_handlers/connect.rs similarity index 100% rename from aquatic/src/bin/bench_handlers/connect.rs rename to aquatic_bench/src/bin/bench_handlers/connect.rs diff --git a/aquatic/src/bin/bench_handlers/main.rs b/aquatic_bench/src/bin/bench_handlers/main.rs similarity index 100% rename from aquatic/src/bin/bench_handlers/main.rs rename to aquatic_bench/src/bin/bench_handlers/main.rs diff --git a/aquatic/src/bin/bench_handlers/scrape.rs b/aquatic_bench/src/bin/bench_handlers/scrape.rs similarity index 98% rename from aquatic/src/bin/bench_handlers/scrape.rs rename to aquatic_bench/src/bin/bench_handlers/scrape.rs index 3fd871b..b40af7f 100644 --- a/aquatic/src/bin/bench_handlers/scrape.rs +++ b/aquatic_bench/src/bin/bench_handlers/scrape.rs @@ -4,9 +4,9 @@ use std::net::SocketAddr; use rand::Rng; use rand_distr::Pareto; -use aquatic::bench_utils::*; use aquatic::handlers::*; use aquatic::common::*; +use aquatic_bench::*; use crate::common::*; diff --git a/aquatic/src/bin/plot_pareto.rs b/aquatic_bench/src/bin/plot_pareto.rs similarity index 96% rename from aquatic/src/bin/plot_pareto.rs rename to aquatic_bench/src/bin/plot_pareto.rs index f598f95..b78ca95 100644 --- a/aquatic/src/bin/plot_pareto.rs +++ b/aquatic_bench/src/bin/plot_pareto.rs @@ -4,7 +4,7 @@ use plotly::layout::Axis; use rand::{thread_rng, rngs::SmallRng, SeedableRng}; use rand_distr::Pareto; -use aquatic::bench_utils::pareto_usize; +use aquatic_bench::pareto_usize; fn main(){ diff --git a/aquatic/src/lib/bench_utils.rs b/aquatic_bench/src/lib.rs similarity index 100% rename from aquatic/src/lib/bench_utils.rs rename to aquatic_bench/src/lib.rs