MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / perf_diagnose_buffer_cache

Function perf_diagnose_buffer_cache

xtask/src/main.rs:3683–3707  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3681}
3682
3683fn perf_diagnose_buffer_cache() -> Result<()> {
3684 Pglite::preload()?;
3685 let cases = speed_cases(1.0, SpeedSqlSource::PgliteVendored)?;
3686 let diagnostics = vec![
3687 run_buffer_cache_diagnostic_case(
3688 &cases,
3689 "11",
3690 &[
3691 "BEGIN",
3692 "INSERT INTO t1 SELECT b,a,c FROM t2",
3693 "INSERT INTO t2 SELECT b,a,c FROM t1",
3694 "COMMIT",
3695 ],
3696 )?,
3697 run_buffer_cache_diagnostic_case(&cases, "14", &["INSERT INTO t2 SELECT * FROM t1"])?,
3698 ];
3699
3700 let report = BufferCacheDiagnosticReport {
3701 source_model: "Exact PGlite benchmark SQL files from assets/checkouts/pglite/packages/benchmark/src.",
3702 measurement_model: "Each case opens a fresh temporary database, runs all earlier PGlite speed tests outside the measured section, then executes EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) for the target data-moving statements.",
3703 cases: diagnostics,
3704 };
3705 println!("{}", serde_json::to_string_pretty(&report)?);
3706 Ok(())
3707}
3708
3709fn run_buffer_cache_diagnostic_case(
3710 cases: &[SpeedCase],

Callers 1

perfFunction · 0.85

Calls 1

speed_casesFunction · 0.85

Tested by

no test coverage detected