Skip to content

Benchmarks

python scripts/benchmark.py --rows 100000 --repeats 10 creates an isolated temporary SQLite database with 50 data columns, seeds it, and measures the first and fifth 200-row pages, an exact indexed filter, and a substring search. Repeat with --rows 1000000. It prints Python/Django/platform, dataset size, SQL counts, median/p95 and seed duration. The temporary database is deleted after the run.

Capture CPU/RAM/storage details alongside output when comparing machines. Do not compare substring search to an indexed equality lookup. General substring search has no universal subsecond guarantee. PostgreSQL/MySQL production benchmarks need their actual indexes, collation, query shape, hardware and representative data.

Browser E2E includes a separate 100k-result / 50-column fixture with a 200-row loaded window. That test records scroll frame intervals and bounded DOM rows; it does not claim that a browser holds all 100k records. API timing and scroll timing measure different parts of the system.