Model
Brute-force vector search is memory-bound
Vector search is memory-bandwidth-bound, not compute-bound.
- Vectors
- vectors scanned
- Dimensions
- dimensions per vector (float32)
How it behaves
One input on the horizontal axis, the others held fixed.
Data table
| Vectors N | Time per query |
|---|---|
| 100K | 6.14 ms |
| 115K | 7.09 ms |
| 133K | 8.19 ms |
| 154K | 9.46 ms |
| 178K | 10.9 ms |
| 205K | 12.6 ms |
| 237K | 14.6 ms |
| 274K | 16.8 ms |
| 316K | 19.4 ms |
| 365K | 22.4 ms |
| 422K | 25.9 ms |
| 487K | 29.9 ms |
| 562K | 34.6 ms |
| 649K | 39.9 ms |
| 750K | 46.1 ms |
| 866K | 53.2 ms |
| 1M | 61.4 ms |
| 1.15M | 70.9 ms |
| 1.33M | 81.9 ms |
| 1.54M | 94.6 ms |
| 1.78M | 109 ms |
| 2.05M | 126 ms |
| 2.37M | 146 ms |
| 2.74M | 168 ms |
| 3.16M | 194 ms |
| 3.65M | 224 ms |
| 4.22M | 259 ms |
| 4.87M | 299 ms |
| 5.62M | 346 ms |
| 6.49M | 399 ms |
| 7.5M | 461 ms |
| 8.66M | 532 ms |
| 10M | 614 ms |
| 11.5M | 709 ms |
| 13.3M | 819 ms |
| 15.4M | 946 ms |
| 17.8M | 1.09 s |
| 20.5M | 1.26 s |
| 23.7M | 1.46 s |
| 27.4M | 1.68 s |
| 31.6M | 1.94 s |
| 36.5M | 2.24 s |
| 42.2M | 2.59 s |
| 48.7M | 2.99 s |
| 56.2M | 3.46 s |
| 64.9M | 3.99 s |
| 75M | 4.61 s |
| 86.6M | 5.32 s |
| 100M | 6.14 s |
| 115M | 7.09 s |
| 133M | 8.19 s |
| 154M | 9.46 s |
| 178M | 10.9 s |
| 205M | 12.6 s |
| 237M | 14.6 s |
| 274M | 16.8 s |
| 316M | 19.4 s |
| 365M | 22.4 s |
| 422M | 25.9 s |
| 487M | 29.9 s |
| 562M | 34.6 s |
| 649M | 39.9 s |
| 750M | 46.1 s |
| 866M | 53.2 s |
| 1B | 61.4 s |
| 1.15B | 70.9 s |
| 1.33B | 81.9 s |
| 1.54B | 94.6 s |
| 1.78B | 109 s |
| 2.05B | 126 s |
| 2.37B | 146 s |
| 2.74B | 168 s |
| 3.16B | 194 s |
| 3.65B | 224 s |
| 4.22B | 259 s |
| 4.87B | 299 s |
| 5.62B | 346 s |
| 6.49B | 399 s |
| 7.5B | 461 s |
| 8.66B | 532 s |
| 10B | 614 s |
Worked examples, recomputed
Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.
- 10 million × 768 dims × 4 B ≈ 30 GB
- at 50 GB/s → ≈ 0.6 s per query
- 96-byte PQ codes → scans read about 30× less
Where it appears
Each mechanism states it in its own names. The general symbol each name stands for is shown with it.
- Specialized Processing Models
What do you build when a query predicate cannot be reduced to a range over an ordered key?