From f7201cd3cf7fc32669da4c5a0ecc6d84d8f742e8 Mon Sep 17 00:00:00 2001 From: Bojan Serafimov Date: Fri, 2 Dec 2022 15:07:59 -0500 Subject: [PATCH] refactor test --- pageserver/benches/bench_layer_map.rs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/pageserver/benches/bench_layer_map.rs b/pageserver/benches/bench_layer_map.rs index 6853a41f87..b0d2dbfc28 100644 --- a/pageserver/benches/bench_layer_map.rs +++ b/pageserver/benches/bench_layer_map.rs @@ -261,8 +261,6 @@ fn bench_from_real_project(c: &mut Criterion) { // Benchmark using synthetic data. Arrange image layers on stacked diagonal lines. fn bench_sequential(c: &mut Criterion) { - let mut layer_map = LayerMap::default(); - let mut bstlm = BSTLM::new(); // Init layer map. Create 100_000 layers arranged in 1000 diagonal lines. // @@ -271,6 +269,7 @@ fn bench_sequential(c: &mut Criterion) { // Putting it inside the `bench_function` closure is not a solution // because then it runs multiple times during warmup. let now = Instant::now(); + let mut layer_map = LayerMap::default(); for i in 0..100_000 { let i32 = (i as u32) % 100; let zero = Key::from_hex("000000000000000000000000000000000000").unwrap(); @@ -282,14 +281,23 @@ fn bench_sequential(c: &mut Criterion) { } println!("Finished layer map init in {:?}", now.elapsed()); + // Init bst layer map with the same layers let now = Instant::now(); - for i in 0..100_000 { - let i32 = (i as u32) % 100; - let zero = Key::from_hex("000000000000000000000000000000000000").unwrap(); - let begin = zero.add(10 * i32).to_i128(); - let end = zero.add(10 * i32 + 1).to_i128(); + let mut bstlm = BSTLM::new(); + for layer in layer_map.iter_historic_layers() { + if layer.is_incremental() { + panic!("AAA"); + } else { + let kr = layer.get_key_range(); + let lr = layer.get_lsn_range(); - bstlm.insert(begin, end, i as u64, format!("Layer {}", i)); + bstlm.insert( + kr.start.to_i128(), + kr.end.to_i128(), + lr.start.0, + format!("Layer {}", lr.start.0), + ); + } } println!("Finished bst init in {:?}", now.elapsed());