fix(bench): regenerate growable file each iteration in truncate safety benchmarks (closes #44)
This commit is contained in:
@@ -24,13 +24,14 @@ fn bench_truncate_safety_mmap(
|
|||||||
dir: &std::path::Path,
|
dir: &std::path::Path,
|
||||||
) -> Vec<BenchmarkResult> {
|
) -> Vec<BenchmarkResult> {
|
||||||
let sub_dir = dir.join("trunc_mmap");
|
let sub_dir = dir.join("trunc_mmap");
|
||||||
let path = data_gen::generate_growable_file(&sub_dir).expect("Failed to create file");
|
|
||||||
let iterations: usize = if _config.quick_mode { 3 } else { 10 };
|
let iterations: usize = if _config.quick_mode { 3 } else { 10 };
|
||||||
|
|
||||||
let mut latencies = Vec::with_capacity(iterations);
|
let mut latencies = Vec::with_capacity(iterations);
|
||||||
let mut sigbus_detected = 0usize;
|
let mut sigbus_detected = 0usize;
|
||||||
|
|
||||||
for _ in 0..iterations {
|
for _ in 0..iterations {
|
||||||
|
let path = data_gen::generate_growable_file(&sub_dir).expect("Failed to create file");
|
||||||
|
|
||||||
mmap_reader::reset_sigbus_flag();
|
mmap_reader::reset_sigbus_flag();
|
||||||
|
|
||||||
let reader = MmapReaderPlain::open(&path).expect("Failed to open file");
|
let reader = MmapReaderPlain::open(&path).expect("Failed to open file");
|
||||||
@@ -48,12 +49,6 @@ fn bench_truncate_safety_mmap(
|
|||||||
sigbus_detected += 1;
|
sigbus_detected += 1;
|
||||||
}
|
}
|
||||||
reader.close();
|
reader.close();
|
||||||
|
|
||||||
let mut f = std::fs::File::create(&path).expect("Failed to recreate file");
|
|
||||||
use std::io::Write;
|
|
||||||
for i in 0..1000u64 {
|
|
||||||
writeln!(f, "restored line {i}").unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let rss = MetricsCollector::read_rss();
|
let rss = MetricsCollector::read_rss();
|
||||||
@@ -82,13 +77,14 @@ fn bench_truncate_safety_pread(
|
|||||||
dir: &std::path::Path,
|
dir: &std::path::Path,
|
||||||
) -> Vec<BenchmarkResult> {
|
) -> Vec<BenchmarkResult> {
|
||||||
let sub_dir = dir.join("trunc_pread");
|
let sub_dir = dir.join("trunc_pread");
|
||||||
let path = data_gen::generate_growable_file(&sub_dir).expect("Failed to create file");
|
|
||||||
let iterations: usize = if _config.quick_mode { 3 } else { 10 };
|
let iterations: usize = if _config.quick_mode { 3 } else { 10 };
|
||||||
|
|
||||||
let mut latencies = Vec::with_capacity(iterations);
|
let mut latencies = Vec::with_capacity(iterations);
|
||||||
let mut error_count = 0usize;
|
let mut error_count = 0usize;
|
||||||
|
|
||||||
for _ in 0..iterations {
|
for _ in 0..iterations {
|
||||||
|
let path = data_gen::generate_growable_file(&sub_dir).expect("Failed to create file");
|
||||||
|
|
||||||
let reader = PreadReaderPlain::open(&path).expect("Failed to open file");
|
let reader = PreadReaderPlain::open(&path).expect("Failed to open file");
|
||||||
let original_size = reader.file_size();
|
let original_size = reader.file_size();
|
||||||
|
|
||||||
@@ -104,12 +100,6 @@ fn bench_truncate_safety_pread(
|
|||||||
error_count += 1;
|
error_count += 1;
|
||||||
}
|
}
|
||||||
reader.close();
|
reader.close();
|
||||||
|
|
||||||
let mut f = std::fs::File::create(&path).expect("Failed to recreate file");
|
|
||||||
use std::io::Write;
|
|
||||||
for i in 0..1000u64 {
|
|
||||||
writeln!(f, "restored line {i}").unwrap();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let rss = MetricsCollector::read_rss();
|
let rss = MetricsCollector::read_rss();
|
||||||
|
|||||||
Reference in New Issue
Block a user