Say the benchmark's second open no longer pays the backfill

benchmarks.md and catalog_open.rs both said schema::backfill runs on
every Catalog::open. Since ffdd640 it runs on the first open of a path
in a process and is skipped while the stamp matches, so in dr-bench
catalog_open_ms still includes it and catalog_open_warm_ms, the second
open in the same process, no longer does. That is what a library
reopened in one session costs, and both now say which figure is which.
The comment keeps its line count, so no tag below it moves.
This commit is contained in:
2026-09-26 14:58:20 -04:00
parent d2b99bb8c1
commit 1b8d0e740f
2 changed files with 10 additions and 5 deletions
+3 -3
View File
@@ -14,9 +14,9 @@
//! without:
//!
//! 1. [`Catalog::open`] — connect, migrate if needed, and **backfill**. The
//! backfill is the interesting one: `schema::backfill` runs on every open
//! and is three passes over the images table, so it is O(library) work on a
//! path whose budget is stated in absolute seconds.
//! backfill is the interesting one: O(library) passes over the images table
//! on a path whose budget is in absolute seconds. Since 0.17.0 it runs on the
//! first open in a process and is skipped while nothing changed (`backfilled`).
//! 2. [`Catalog::count`] — the total, which is what sizes the scrollbar.
//! 3. [`Catalog::window`] — the first screenful of rows.
//! 4. [`Catalog::timeline`] — the scrubber's buckets, drawn beside the grid