fix(bench): warn when clear_file_cache fails instead of silently skipping cold benchmarks (closes #41)
This commit is contained in:
@@ -40,7 +40,8 @@ pub fn run(config: &BenchConfig) -> Vec<BenchmarkResult> {
|
|||||||
));
|
));
|
||||||
|
|
||||||
if !config.quick_mode {
|
if !config.quick_mode {
|
||||||
if MetricsCollector::clear_file_cache(&config.test_file).is_ok() {
|
match MetricsCollector::clear_file_cache(&config.test_file) {
|
||||||
|
Ok(()) => {
|
||||||
results.extend(bench_cold_open::<MmapReaderPlain>("mmap", "plain", config));
|
results.extend(bench_cold_open::<MmapReaderPlain>("mmap", "plain", config));
|
||||||
results.extend(bench_cold_open::<MmapReaderSequential>(
|
results.extend(bench_cold_open::<MmapReaderSequential>(
|
||||||
"mmap",
|
"mmap",
|
||||||
@@ -70,6 +71,12 @@ pub fn run(config: &BenchConfig) -> Vec<BenchmarkResult> {
|
|||||||
config,
|
config,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
Err(e) => {
|
||||||
|
eprintln!(
|
||||||
|
"WARNING: Failed to clear file cache; skipping cold startup benchmarks because results would not be cold: {e}"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
results
|
results
|
||||||
@@ -88,8 +95,15 @@ fn bench_cold_open<B: FileReaderBackend>(
|
|||||||
variant: &str,
|
variant: &str,
|
||||||
config: &BenchConfig,
|
config: &BenchConfig,
|
||||||
) -> Vec<BenchmarkResult> {
|
) -> Vec<BenchmarkResult> {
|
||||||
let _ = MetricsCollector::clear_file_cache(&config.test_file);
|
match MetricsCollector::clear_file_cache(&config.test_file) {
|
||||||
open_and_measure::<B>(backend, variant, &config.test_file, "cold_open")
|
Ok(()) => open_and_measure::<B>(backend, variant, &config.test_file, "cold_open"),
|
||||||
|
Err(e) => {
|
||||||
|
eprintln!(
|
||||||
|
"WARNING: Failed to clear file cache for {backend}/{variant}; skipping cold benchmark: {e}"
|
||||||
|
);
|
||||||
|
Vec::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn open_and_measure<B: FileReaderBackend>(
|
fn open_and_measure<B: FileReaderBackend>(
|
||||||
|
|||||||
Reference in New Issue
Block a user