A library grows for years. These are the numbers Teserra 1.3.0 gives on real hardware with ten thousand and fifty thousand items, how we measured them, and what changed to get there.
| 10,000 items | 50,000 items | |
|---|---|---|
| Warm start, grid visibleOpen the app, see your library. | 1.7 s | 2.4 s |
| Cold start, grid visibleFirst launch after a rebuild: every sidecar is read back from disk. | 3.6 s | about 10 s |
| Main query, all itemsWhat the grid asks the database on each refresh: time and payload. | 93 ms · 2.2 MB | 366 ms · 11.3 MB |
| Typing in searchFrom a keystroke to the filtered grid, three different words. | 105 to 157 ms | 204 to 357 ms |
| ScrollingTime to render one screen-height jump, median and 95th percentile. | 33 ms median · 64 ms p95 | 33 ms median · 49 ms p95 |
| Memory at restAfter start and the tests above, thumbnails done. | 139 MB | 246 MB |
Method. Synthetic vaults built from 1,500 real PNGs repeated, 18 collections, 30 tags, titles on a third of the items. Debug build with the production front end, so a shipped Teserra is faster, not slower. Each number is one run on a quiet machine, rounded. Machine: MacBook Pro, Apple M5 Pro, 24 GB, macOS 15. Measured on September 19, 2026.
per image to index for visual search, on the Mac's GPU. Ten thousand images in under a minute.
of front-end code loaded at start. The Wall, PDF, video, fonts and Studio load when you open them.
to check 842 sidecars against the database at a warm start. 198 ms cold.
thumbnails, generated in parallel on every core, written atomically, never half-drawn.
Version 1.3.0 slimmed what the database sends to the grid, redraws only the item you touched, and groups refreshes while imports run in the background. Same machine, same vaults, before and after.
A cold start on fifty thousand items reads every sidecar back from disk, about ten seconds. Generating fifty thousand thumbnails the first time takes minutes, not seconds, and runs in the background while you work. Typing at fifty thousand items lands between two and four tenths of a second. These are the next things we measure again.
Try it on your own library