infino bench
full-text 6.20 ms BM25 keyword search, top 10 $0.14 / 1M queries
vector 13.81 ms 10M × 1024-dim, top 10 $0.31 / 1M queries
hybrid 16.57 ms keyword + vector, fused, top 10 $0.38 / 1M queries
infino bench --scale 1M..1B
full table: ingest rate, stored size, cold start
| docs | store | ingest | stored (ratio) | warm range | cold open |
|---|---|---|---|---|---|
| 1M | AWS S3 | 38.7K docs/s | n/a | 55 µs to 7.9 ms | 0.42-0.56 s |
| 10M | AWS S3 | 76.9K docs/s | 6.17 GiB (33%) | 123 µs to 49 ms | 0.45-0.51 s |
| 100M | Azure Blob | 177.1K docs/s | 59.33 GiB (32%) | 9.6 ms to 745 ms | 0.55-1.10 s |
| 1B | Azure Blob | 110.6K docs/s | 593.31 GiB (32%) | 97 ms to 6.31 s | 4.8-9.5 s |
infino cost
| data | ingest rate | raw → stored | ratio | storage |
|---|---|---|---|---|
| full-text | 76.9K docs/s | 18.72 GiB → 6.17 GiB | 33% | $0.15/mo |
| vector (1024d) | 20.2K docs/s | 38.15 GiB → 21.10 GiB | 55% | $0.52/mo |
| sql | 50.4K rows/s | 18.72 GiB → 6.96 GiB | 37% | $0.17/mo |
infino bench fts
full table: every query shape, warm, cold, and cost
| query | warm | warm + fetch | cold open | cold search | $ / 1M |
|---|---|---|---|---|---|
| single term · df=1 | 123.44 µs | 3.92 ms | 450.23 ms | 11.49 ms | $0.0039 |
| single term · rare | 1.11 ms | 9.88 ms | 476.38 ms | 183.71 ms | $0.03 |
| single term · common | 3.30 ms | 11.04 ms | 487.34 ms | 303.69 ms | $0.10 |
| 2-term OR | 1.35 ms | 9.72 ms | 498.61 ms | 402.66 ms | $0.04 |
| 2-term AND | 1.81 ms | 10.01 ms | 484.03 ms | 391.72 ms | $0.06 |
| 3-term OR (wide) | 2.71 ms | 10.63 ms | 505.87 ms | 440.47 ms | $0.09 |
| 3-term AND (wide) | 3.63 ms | 11.48 ms | 493.72 ms | 411.78 ms | $0.11 |
| 5-term OR | 15.55 ms | 23.57 ms | 492.02 ms | 350.97 ms | $0.49 |
| 5-term AND | 7.62 ms | 15.97 ms | 486.09 ms | 348.38 ms | $0.24 |
| 10-term OR | 48.98 ms | 57.05 ms | 475.07 ms | 337.18 ms | $1.54 |
| 10-term AND | 9.35 ms | 17.54 ms | 489.39 ms | 439.95 ms | $0.29 |
infino bench vector
- warm search
- 15.56 mssteady state, median
- cold start
- 1.09 s + 1.42 sopen the index once, then the first search
- recall
- 0.96+fraction of true nearest neighbors returned, vs exact search
- stored size
- 21.10 GiB55% of the 38.15 GiB raw vectors
infino bench hybrid
| function | warm | results | relative |
|---|---|---|---|
| bm25_search() | 6.20 ms | 10 | |
| vector_search() | 13.81 ms | 10 | |
| hybrid_search() | 16.57 ms | 10 | |
| token_match() · one row | 381 µs | 1 | |
| exact_match() | 2.81 ms | 1 |
infino bench --env
- machine
- one Intel Xeon Platinum 8488C · 8 cores / 16 threads · 31 GiB RAM · Linux
- cluster
- none, a single node
- data layout
- 256 Parquet files on object storage, read through a disk cache
- corpus
- synthetic, realistic word-frequency skew (Zipfian), 200 words per doc
- measurement
- median (p50) of repeated runs, one query at a time
- harness
- in-tree, one binary, open source: build once, then measure warm, then cold
the runs on this page
| scale | vectors |
|---|---|
| 10M docs | 1024-dim vectors |
| 1M docs | 384-dim vectors |
| 100M and 1B (full-text) | n/a |