Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Performance

Measured on the author's machine (Intel Core i9-13900H, Linux, release build), on vaults of 30-line notes linked to each other.

The app

Vault1,000 notes5,000 notes20,000 notes
Window on screen75 ms60 ms75 ms
Vault indexed, in the background20 ms90 ms275 ms
Palette: to open, then per letter1.7 ms, 1.5 ms3.6 ms, 1.9 ms11 ms, 4 ms
A note written by another program shows upin 0.3 to 0.45 sin 0.3 to 0.45 sin 0.4 to 0.55 s
Memory62 MB86 MB180 MB

At rest, Bref uses 0.3 % of one processor core.

One gesture

The time Bref spends between a key and the frame it hands to the graphics card, measured without a display. Drawing comes on top; a screen at 120 Hz leaves 8 ms for both.

GestureWork before the frame is drawn
A letter in a short note1.1 ms
A letter in a note of 1,000 lines1.2 ms
A letter, an arrow or Enter in a note of 5,000 lines1.2 to 1.5 ms
A letter in a table of 400 rows3.0 ms
One notch of the mouse wheel1.1 ms

Large files

  • A table of 1,400 rows with a running total in each row: about 25 ms per keystroke. See Formulas.
  • A table of 300,000 rows in a note opens in about 40 ms, and typing in it takes under 10 ms. See Very large tables.
  • A CSV file of a million rows is parsed in under a tenth of a second, and a million rows cost about 12 MB. See CSV and TSV files.

Where the figures come from

The first table comes from the running app (window, memory, outside change) and from the scale benchmark (index, palette). The others come from benchmarks run without a display. To measure on your machine:

cargo test --release --locked -- --ignored --nocapture bench

Each benchmark reads its parameters from environment variables named in its doc comment.