Labs
Each lab takes under an hour on a laptop and turns a claim from this mechanism into a number you measured yourself.
- 1
Why `LIKE '%word%'` cannot use a B-tree, and what an inverted index does instead
A million Zipfian documents in PostgreSQL: LIKE '%word%' with a B-tree, then a GIN full-text index for a rare and for the most common word.
Real systemDocker, Python - 2
Block-max skipping on a toy engine
Postings for 50,000 documents and 5 Zipfian terms: exhaustive top-10 scoring against block-max skipping, postings read, and where skipping stops being safe.
SimulatePython with NumPy - 3
The memory-bound arithmetic of brute-force vector search
400,000 random 768-dimensional vectors: one brute-force query as float32, float16 and int8, effective bandwidth, and float32 scaled to 10 million vectors.
MeasurePython with NumPy - 4
Measure recall against brute-force truth, and see the filtered-search collapse
An HNSW index over 200,000 random vectors: recall@10 and queries per second for efSearch 10 to 200; then a 0.5% filter, post-filtered and pre-filtered.
MeasurePython with hnswlib, NumPy - 5
Three self-joins versus a frontier expansion
A power-law graph of a million vertices: 1- to 4-hop chained self-joins in PostgreSQL against a CSR breadth-first search, from a median vertex and from the top hub.
Real systemDocker, Python with NumPy - 6
Supersteps and the straggler tax
10 PageRank supersteps over a power-law graph split across 8 workers by vertex and by edge, with and without a combiner; then PageRank iterations against connected components.
SimulatePython with NumPy - 7
Filter and refine, and the fill ratio
100,000 circles and buffered diagonal lines: bounding-box false positives by fill ratio, STRtree filter-and-refine against brute force, and the raw-degree distance trap.
MeasurePython with shapely, pyproj - 8
Cardinality wall and Gorilla encoding
Series counts with and without a user_id label; delta-of-delta and XOR encoding of a million points, regular and noisy; minute rollups of an hour's p99.
MeasurePython with NumPy, datasketches