From 27f31d0ef497b12681236a9bbb9d1c2a17b535f8 Mon Sep 17 00:00:00 2001 From: _ <> Date: Sun, 3 Jan 2021 19:55:45 +0000 Subject: [PATCH] :white_check_mark: test: measure performance for KV store idea --- crates/ptth_kv/src/main.rs | 34 ++++++++++++++++++++++++++++++++++ docs/build-artifacts.md | 12 ++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 docs/build-artifacts.md diff --git a/crates/ptth_kv/src/main.rs b/crates/ptth_kv/src/main.rs index 28f088b..95b6476 100644 --- a/crates/ptth_kv/src/main.rs +++ b/crates/ptth_kv/src/main.rs @@ -308,4 +308,38 @@ mod tests { tuples: vec! [] }); } + + #[test] + #[cfg (not (debug_assertions))] + fn perf () { + use std::time::Instant; + + let s = Store::new (vec! [ + (b"key_dir".to_vec (), StatusQuotas { + max_keys: 4, + max_key_bytes: 16, + max_value_bytes: 16, + max_payload_bytes: 128, + }), + ].into_iter ()); + + let num_iters = 1_000_000; + + let key = b"foo".to_vec (); + + let start_time = Instant::now (); + + for i in 0..num_iters { + let value = format! ("{}", i); + + s.set (b"key_dir", key.clone (), value.into ()); + } + + let end_time = Instant::now (); + let total_dur = end_time - start_time; + + let avg_nanos = total_dur.as_nanos () / num_iters; + + assert! (avg_nanos < 200); + } } diff --git a/docs/build-artifacts.md b/docs/build-artifacts.md new file mode 100644 index 0000000..fc48ef9 --- /dev/null +++ b/docs/build-artifacts.md @@ -0,0 +1,12 @@ +# Build artifact log + +## 2021-01Jan-03 + +Git commit 88e7839841ad812f5645a30503955511ac107bdd + +Sizes: + +- ptth_relay: 11 MB +- ptth_server: 14 MB +- ptth_relay gzipped: 3 MB +- ptth_server gzipped: 5 MB