3 of 3 lanes measured
VectorDBBench
Qualified vector search quality, throughput, serial latency, serving demand, and database volume across operating points.
vector-vdbbench-50k
complete50K
Three independent v0.2.1 lifecycles on 50K 1536-dimensional vectors; historical peer references.
Methodology scope · protocol · interpretation
Subject and execution
Official v0.2.1, commit e5261e9e2937d03943b518974bf8063351ad1449, unchanged Linux ARM64 release executable. Runtime: rootless Podman 6.1.1 on Apple M4 Max, 10 VM CPUs and 24 GiB VM memory. The build is identified as the official release; compiler optimization flags are not independently asserted.
Only Antfly was measured in this run. Retained peer rows have their original versions and evidence dates; they are historical references, not a matched runtime cohort or evidence of a release-to-release speedup.
Vector protocol
Three independently built indexes per workload. Search parameters are selected only on the deterministic calibration partition; publication queries use the disjoint holdout partition. Memory demand is concurrently sampled cgroup v2 anon + shmem peak. Final database volume is post-stop allocated bytes across the complete declared Docker volume.
Run evidence parameters · variation · provenance
Benchmark parameters
{"concurrency_duration_seconds":30,"concurrency_schedule":[1,5,10,20,30],"execution_environment":{"container_runtime":"rootless Podman 6.1.1","processor":"Apple M4 Max","vm_cpus":10,"vm_memory_gib":24},"lifecycle_search_values":[0.425,0.425,0.425],"query_count":800,"query_partition_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","search_parameter":"search_effort"}Trial variation
[{"engine":"Antfly","ranges":{"demand_working_set":{"maximum":8908,"mean":6992.3,"minimum":5551.7,"unit":"MB"},"final_database_volume":{"maximum":354.934784,"mean":354.820096,"minimum":354.639872,"unit":"MB"},"p99_at_30_concurrent":{"maximum":83.7,"mean":83.6,"minimum":83.4,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"Chroma","ranges":{"demand_working_set":{"maximum":466.7,"mean":463.3,"minimum":460.9,"unit":"MB"},"final_database_volume":{"maximum":332.488704,"mean":332.485973,"minimum":332.480512,"unit":"MB"},"p99_at_30_concurrent":{"maximum":179,"mean":177.6,"minimum":175.3,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"Elasticsearch","ranges":{"demand_working_set":{"maximum":1952.7,"mean":1941,"minimum":1934.8,"unit":"MB"},"final_database_volume":{"maximum":312.082432,"mean":312.067413,"minimum":312.049664,"unit":"MB"},"p99_at_30_concurrent":{"maximum":15.1,"mean":14.467,"minimum":14,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"Milvus 2.6.22","ranges":{"demand_working_set":{"maximum":2766.6,"mean":2666.2,"minimum":2563.6,"unit":"MB"},"final_database_volume":{"maximum":2393.47712,"mean":2393.459371,"minimum":2393.432064,"unit":"MB"},"p99_at_30_concurrent":{"maximum":11.4,"mean":11.233,"minimum":11.1,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"pgvector","ranges":{"demand_working_set":{"maximum":2303.8,"mean":2303.7,"minimum":2303.7,"unit":"MB"},"final_database_volume":{"maximum":1523.970048,"mean":1523.967317,"minimum":1523.965952,"unit":"MB"},"p99_at_30_concurrent":{"maximum":33.1,"mean":32.033,"minimum":31.4,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"Weaviate","ranges":{"demand_working_set":{"maximum":977.9,"mean":953.8,"minimum":936.6,"unit":"MB"},"final_database_volume":{"maximum":391.55712,"mean":391.514795,"minimum":391.491584,"unit":"MB"},"p99_at_30_concurrent":{"maximum":89.6,"mean":86.967,"minimum":85.3,"unit":"ms"}},"workload":"1536d-50K"},{"engine":"Milvus 3.0.0","ranges":{"demand_working_set":{"maximum":2949.6,"mean":2819,"minimum":2719.7,"unit":"MB"},"final_database_volume":{"maximum":2489.167872,"mean":2489.156949,"minimum":2489.143296,"unit":"MB"},"p99_at_30_concurrent":{"maximum":12,"mean":11.667,"minimum":11.4,"unit":"ms"}},"workload":"1536d-50K"}]Peer versions
- Chroma1.5.9
- Elasticsearch9.5.2
- Milvus 2.6.222.6.22
- pgvector0.8.6 (PostgreSQL 16)
- Weaviate1.39.2
- Milvus 3.0.03.0.0
Evidence digests
- Receipt
72199dfaf7a6a4372eb68a6f075191e346970157eb1f3142144a7a8eb8731054- Aggregate
ef513ae591baae5707c38b0d6bac56e6e83e91546f3836857e7c64bd48fc1a1f- Provenance
ef513ae591baae5707c38b0d6bac56e6e83e91546f3836857e7c64bd48fc1a1f- Harness commit
Peer cohort evidence · 1536d-50K
- Completed
- Fresh lifecycles
- 18
- Peer variants
- 6
- Receipt
782e8e470765fae9914945e67c9da3f3e82a1b38571ebe6e5940228a8248601c- Aggregate
0eb49aba01e15e065ec68b1667beb2c41a580cde5dab2cb928b6f8c01c16daf4- Provenance
700d49bf35039da97e9b5366d4a4e6ec4c417fdfdb5fd720b980349a538d68c3
- Completed
- Antfly
v0.2.1·- Runtime
- 2h 48m
- Platform
- linux · arm64
- Machine
- Apple M4 Max
- Build
- official-release
Peer cohort · 1536d-50K
- Completed
- Variants
- 6 independently executed peers
- Lifecycles
- 18 fresh
- Compatibility
- Historical reference · not a matched runtime
Peak throughput
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 1536d-50K · three fresh lifecycles · Higher is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Serial query p95
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 1536d-50K · three fresh lifecycles · Lower is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Demand working set
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 1536d-50K · three fresh lifecycles · Lower is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Final database volume
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 1536d-50K · three fresh lifecycles · Lower is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Performance, quality, and resource evidence
Antfly v0.2.1 · e5261e9e
| Engine | Workload | Recall | nDCG | Peak QPS queries/s | p95 ms | Demand working set MB | Cache-inclusive peak MB | Final database volume MB | Trials |
|---|---|---|---|---|---|---|---|---|---|
| Antfly | 1536d-50K | 0.9580 | 0.9630 | 984.7 | 3.533 | 6,992.3 MB | 7,746.0 MB | 354.8 MB | 3 |
| Chroma | 1536d-50K | 0.9870 | 0.9890 | 180.9 | 8.067 | 463.3 MB | 812.9 MB | 332.5 MB | 3 |
| Elasticsearch | 1536d-50K | 0.9560 | 0.9640 | 4,434.6 | 2.033 | 1,941.0 MB | 4,385.1 MB | 312.1 MB | 3 |
| Milvus 2.6.22 | 1536d-50K | 0.9630 | 0.9700 | 5,293.1 | 1.600 | 2,666.2 MB | 5,426.1 MB | 2,393.5 MB | 3 |
| pgvector | 1536d-50K | 0.9690 | 0.9750 | 2,721.0 | 4.167 | 2,303.7 MB | 3,533.5 MB | 1,524.0 MB | 3 |
| Weaviate | 1536d-50K | 0.9550 | 0.9630 | 1,008.8 | 6.300 | 953.8 MB | 1,511.3 MB | 391.5 MB | 3 |
| Milvus 3.0.0 | 1536d-50K | 0.9630 | 0.9700 | 5,019.7 | 1.700 | 2,819.0 MB | 5,557.7 MB | 2,489.2 MB | 3 |
vector-vdbbench-1m
complete1M
Three independent v0.2.1 lifecycles on 1M 768-dimensional vectors; historical peer references. 1M storage is provisional.
Methodology scope · protocol · interpretation
Subject and execution
Official v0.2.1, commit e5261e9e2937d03943b518974bf8063351ad1449, unchanged Linux ARM64 release executable. Runtime: rootless Podman 6.1.1 on Apple M4 Max, 10 VM CPUs and 24 GiB VM memory. The build is identified as the official release; compiler optimization flags are not independently asserted.
Only Antfly was measured in this run. Retained peer rows have their original versions and evidence dates; they are historical references, not a matched runtime cohort or evidence of a release-to-release speedup.
Vector protocol
Three independently built indexes per workload. Search parameters are selected only on the deterministic calibration partition; publication queries use the disjoint holdout partition. Memory demand is concurrently sampled cgroup v2 anon + shmem peak. Final database volume is post-stop allocated bytes across the complete declared Docker volume.
Run evidence parameters · variation · provenance
Benchmark parameters
{"concurrency_duration_seconds":30,"concurrency_schedule":[1,5,10,20,30],"execution_environment":{"container_runtime":"rootless Podman 6.1.1","processor":"Apple M4 Max","vm_cpus":10,"vm_memory_gib":24},"lifecycle_search_values":[0.45,0.45,0.425],"query_count":800,"query_partition_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","search_parameter":"search_effort","storage_status":{"reasons":[{"detail":"service did not exit cleanly: {\"container\": \"antfly_bench_vdbb_antfly_t1_768d-1M\", \"exit_code\": 1, \"forced\": false, \"oom_killed\": false, \"stop_command_error\": null}","kind":"abnormal_stop","last_observation_retained":true,"limit_seconds":60,"stage":"final","trial":"1"},{"detail":"service did not exit cleanly: {\"container\": \"antfly_bench_vdbb_antfly_t2_768d-1M\", \"exit_code\": 1, \"forced\": false, \"oom_killed\": false, \"stop_command_error\": null}","kind":"abnormal_stop","last_observation_retained":true,"limit_seconds":60,"stage":"final","trial":"2"},{"detail":"service did not exit cleanly: {\"container\": \"antfly_bench_vdbb_antfly_t3_768d-1M\", \"exit_code\": 1, \"forced\": false, \"oom_killed\": false, \"stop_command_error\": null}","kind":"abnormal_stop","last_observation_retained":true,"limit_seconds":60,"stage":"final","trial":"3"}],"status":"provisional"}}Trial variation
[{"engine":"Antfly","ranges":{"demand_working_set":{"maximum":16455.4,"mean":15732.8,"minimum":15317.9,"unit":"MB"},"final_database_volume":{"maximum":3832.250368,"mean":3831.590912,"minimum":3831.0912,"unit":"MB"},"p99_at_30_concurrent":{"maximum":595.5,"mean":580.567,"minimum":565.6,"unit":"ms"}},"workload":"768d-1M"},{"engine":"Chroma","ranges":{"demand_working_set":{"maximum":3699.1,"mean":3693.6,"minimum":3688.8,"unit":"MB"},"final_database_volume":{"maximum":3460.194304,"mean":3459.731456,"minimum":3458.838528,"unit":"MB"},"p99_at_30_concurrent":{"maximum":136.1,"mean":135.567,"minimum":134.6,"unit":"ms"}},"workload":"768d-1M"},{"engine":"Elasticsearch","ranges":{"demand_working_set":{"maximum":2135.8,"mean":2095.2,"minimum":2029.8,"unit":"MB"},"final_database_volume":{"maximum":3148.750848,"mean":3148.500992,"minimum":3148.361728,"unit":"MB"},"p99_at_30_concurrent":{"maximum":21.6,"mean":20.967,"minimum":19.7,"unit":"ms"}},"workload":"768d-1M"},{"engine":"Milvus 2.6.22","ranges":{"demand_working_set":{"maximum":13999.4,"mean":13920.6,"minimum":13837.1,"unit":"MB"},"final_database_volume":{"maximum":25669.378048,"mean":25642.164224,"minimum":25626.836992,"unit":"MB"},"p99_at_30_concurrent":{"maximum":13.7,"mean":13.633,"minimum":13.5,"unit":"ms"}},"workload":"768d-1M"},{"engine":"pgvector","ranges":{"demand_working_set":{"maximum":2318.6,"mean":2317.3,"minimum":2316.6,"unit":"MB"},"final_database_volume":{"maximum":9329.364992,"mean":9329.318571,"minimum":9329.27488,"unit":"MB"},"p99_at_30_concurrent":{"maximum":76.6,"mean":72.867,"minimum":69.9,"unit":"ms"}},"workload":"768d-1M"},{"engine":"Weaviate","ranges":{"demand_working_set":{"maximum":7370.7,"mean":7345.1,"minimum":7331,"unit":"MB"},"final_database_volume":{"maximum":3955.232768,"mean":3947.47904,"minimum":3942.985728,"unit":"MB"},"p99_at_30_concurrent":{"maximum":68.3,"mean":67.2,"minimum":65.7,"unit":"ms"}},"workload":"768d-1M"},{"engine":"Milvus 3.0.0","ranges":{"demand_working_set":{"maximum":13551.8,"mean":13262.6,"minimum":13016.7,"unit":"MB"},"final_database_volume":{"maximum":35112.308736,"mean":33718.551893,"minimum":33003.88864,"unit":"MB"},"p99_at_30_concurrent":{"maximum":14.4,"mean":14.233,"minimum":14.1,"unit":"ms"}},"workload":"768d-1M"}]Peer versions
- Chroma1.5.9
- Elasticsearch9.5.2
- Milvus 2.6.222.6.22
- pgvector0.8.6 (PostgreSQL 16)
- Weaviate1.39.2
- Milvus 3.0.03.0.0
Evidence digests
- Receipt
b9f7307708da80c2bc2453be8aca9cc310815f49e5da9c3ad2a3a907917c2ed4- Aggregate
e12152c49b18305cf4b16d08967d8eaf0082b419519b4ed31844373451ebea91- Provenance
e12152c49b18305cf4b16d08967d8eaf0082b419519b4ed31844373451ebea91- Harness commit
Peer cohort evidence · 768d-1M
- Completed
- Fresh lifecycles
- 18
- Peer variants
- 6
- Receipt
4366569aa9cfe5f7e796c5eadc30a6d2ae610cde650543eb3546ddcb856dfebf- Aggregate
828e2d97f299926c3bb1f39866db983ef61895793243ec02a569fe955507a197- Provenance
4af875e079c7c2538ed378027ac14be10294f30a7761e8fe0300f885ea3a1ea4
- Completed
- Antfly
v0.2.1·- Runtime
- 2h 48m
- Platform
- linux · arm64
- Machine
- Apple M4 Max
- Build
- official-release
Peer cohort · 768d-1M
- Completed
- Variants
- 6 independently executed peers
- Lifecycles
- 18 fresh
- Compatibility
- Historical reference · not a matched runtime
Peak throughput
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 768d-1M · three fresh lifecycles · Higher is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Serial query p95
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 768d-1M · three fresh lifecycles · Lower is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Demand working set
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 768d-1M · three fresh lifecycles · Lower is better · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Final database volume
Antfly v0.2.1 (e5261e9e, official-release) · linux-arm64 · 768d-1M · three fresh lifecycles · Antfly storage provisional; measured value retained in the table · Apple M4 Max · rootless Podman 6.1.1 · 10 VM CPUs / 24 GiB · Historical peers, not a matched run
Performance, quality, and resource evidence
Antfly v0.2.1 · e5261e9e
| Engine | Workload | Recall | nDCG | Peak QPS queries/s | p95 ms | Demand working set MB | Cache-inclusive peak MB | Final database volume MB | Trials | Clean stops / total |
|---|---|---|---|---|---|---|---|---|---|---|
| Antfly | 768d-1M | 0.9630 | 0.9670 | 86.5 | 14.900 | 15,732.8 MB | 18,866.7 MB | 3,831.6 MB (provisional) | 3 | 0 / 3 |
| Chroma | 768d-1M | 0.9560 | 0.9620 | 238.7 | 6.600 | 3,693.6 MB | 7,289.8 MB | 3,459.7 MB | 3 | 3 / 3 |
| Elasticsearch | 768d-1M | 0.9590 | 0.9610 | 3,110.8 | 3.233 | 2,095.2 MB | 11,426.8 MB | 3,148.5 MB | 3 | 3 / 3 |
| Milvus 2.6.22 | 768d-1M | 0.9610 | 0.9660 | 4,085.9 | 2.200 | 13,920.6 MB | 21,605.9 MB | 25,642.2 MB | 3 | 3 / 3 |
| pgvector | 768d-1M | 0.9660 | 0.9700 | 955.8 | 10.767 | 2,317.3 MB | 11,974.9 MB | 9,329.3 MB | 3 | 3 / 3 |
| Weaviate | 768d-1M | 0.9560 | 0.9620 | 1,300.8 | 5.700 | 7,345.1 MB | 13,791.8 MB | 3,947.5 MB | 3 | 3 / 3 |
| Milvus 3.0.0 | 768d-1M | 0.9610 | 0.9670 | 3,898.5 | 2.367 | 13,262.6 MB | 21,631.0 MB | 33,718.6 MB | 3 | 3 / 3 |
vector-vdbbench-scale
completeScale
Official v0.2.1 completed all twenty query lifecycles across ten Cohere 768D corpus sizes. Storage is provisional from 80K upward.
Methodology scope · protocol · interpretation
Run evidence parameters · variation · provenance
Benchmark parameters
{"calibration_queries":200,"concurrency_schedule":[1,5,10,20,30],"dimensions":768,"memory_yardstick":"cgroup-v2-anon-plus-shmem-full-lifecycle","metric":"cosine","publication_queries":800,"query_partition_seed":"antfly-circus-vdbbench-v1","storage_metric":"final_allocated_bytes","window_seconds":30}Where the time went
Two fresh lifecycles per size, ascending then descending; all held-out recall observations exceed 0.95, with zero query errors. Mean serial p95 rises from 2.50 ms at 20K to 14.65 ms at 1M; mean peak throughput falls from 2,048 to 84.4 QPS. Demand peaks average 2,058 MB and 16,480 MB respectively. All fourteen stop attempts at 80K–1M exited 1 without OOM or forced termination. Their post-stop volume captures succeeded but remain provisional, shown in the tables and excluded from storage curves. This is an Antfly-only two-lifecycle diagnostic, not a three-lifecycle competitor ranking.
Trial variation
Each size retains ordered trials 1 and 2, held-out qualification and selected effort. When captured, concurrency observations report QPS and p95/p99 in milliseconds at every client count; original publication metric latency arrays remain in seconds. These are two-lifecycle diagnostics, not the three-lifecycle honed cohort.
[{"metrics":{"demand_mb":{"max":2090,"mean":2058.3,"min":2026.6,"values":[2090,2026.6]},"final_allocated_bytes":{"max":78864384,"mean":78833664,"min":78802944,"values":[78802944,78864384]},"index_build_seconds":{"max":6.8161000000000005,"mean":6.62205,"min":6.428,"values":[6.8161000000000005,6.428]},"lifecycle_seconds":{"max":633.0043892860413,"mean":632.8403525352478,"min":632.6763157844543,"values":[632.6763157844543,633.0043892860413]},"peak_clients":{"max":10,"mean":10,"min":10,"values":[10,10]},"peak_qps":{"max":2113.1056,"mean":2048.27115,"min":1983.4367,"values":[1983.4367,2113.1056]},"serial_p95_ms":{"max":2.6,"mean":2.5,"min":2.4,"values":[2.6,2.4]}},"profile":"fast","qualification":{"ndcg_min":0.9645,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9586,"request_errors":0,"trials":[{"ndcg":0.9723,"recall":0.9681,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.5},"trial":1},{"ndcg":0.9645,"recall":0.9586,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.475},"trial":2}]},"storage_qualification":{"qualified_trials":2,"status":"qualified","total_trials":2,"trials":[{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":1},{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":2}]},"vectors":20000},{"metrics":{"demand_mb":{"max":3686.1,"mean":2675.2,"min":1664.3,"values":[3686.1,1664.3]},"final_allocated_bytes":{"max":155537408,"mean":155244544,"min":154951680,"values":[154951680,155537408]},"index_build_seconds":{"max":17.738300000000002,"mean":15.310550000000001,"min":12.8828,"values":[17.738300000000002,12.8828]},"lifecycle_seconds":{"max":663.1834547519684,"mean":663.0952868461609,"min":663.0071189403534,"values":[663.1834547519684,663.0071189403534]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":1179.6115,"mean":1178.3641499999999,"min":1177.1168,"values":[1177.1168,1179.6115]},"serial_p95_ms":{"max":3,"mean":3,"min":3,"values":[3,3]}},"profile":"fast","qualification":{"ndcg_min":0.9666,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9612,"request_errors":0,"trials":[{"ndcg":0.9668,"recall":0.9612,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":1},{"ndcg":0.9666,"recall":0.9614,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":2}]},"storage_qualification":{"qualified_trials":2,"status":"qualified","total_trials":2,"trials":[{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":1},{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":2}]},"vectors":40000},{"metrics":{"demand_mb":{"max":3118.8,"mean":2913.7,"min":2708.6,"values":[3118.8,2708.6]},"final_allocated_bytes":{"max":233750528,"mean":233414656,"min":233078784,"values":[233750528,233078784]},"index_build_seconds":{"max":21.959,"mean":21.8901,"min":21.8212,"values":[21.8212,21.959]},"lifecycle_seconds":{"max":663.2622854709625,"mean":663.0437227487564,"min":662.8251600265503,"values":[662.8251600265503,663.2622854709625]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":852.3412,"mean":849.1302000000001,"min":845.9192,"values":[845.9192,852.3412]},"serial_p95_ms":{"max":3.6,"mean":3.6,"min":3.6,"values":[3.6,3.6]}},"profile":"fast","qualification":{"ndcg_min":0.9714,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.967,"request_errors":0,"trials":[{"ndcg":0.9731,"recall":0.9692,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":1},{"ndcg":0.9714,"recall":0.967,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":2}]},"storage_qualification":{"qualified_trials":2,"status":"qualified","total_trials":2,"trials":[{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":1},{"exit_code":0,"forced":false,"oom_killed":false,"status":"qualified","stop_command_error":null,"trial":2}]},"vectors":60000},{"metrics":{"demand_mb":{"max":3400.2,"mean":3279.95,"min":3159.7,"values":[3159.7,3400.2]},"final_allocated_bytes":{"max":311717888,"mean":311324672,"min":310931456,"values":[310931456,311717888]},"index_build_seconds":{"max":30.7219,"mean":30.15365,"min":29.5854,"values":[29.5854,30.7219]},"lifecycle_seconds":{"max":693.2378511428833,"mean":693.1864391565323,"min":693.1350271701813,"values":[693.1350271701813,693.2378511428833]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":632.5033,"mean":627.5659499999999,"min":622.6286,"values":[622.6286,632.5033]},"serial_p95_ms":{"max":4.3,"mean":4.3,"min":4.3,"values":[4.3,4.3]}},"profile":"fast","qualification":{"ndcg_min":0.9745,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9706,"request_errors":0,"trials":[{"ndcg":0.9755,"recall":0.9717,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":1},{"ndcg":0.9745,"recall":0.9706,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":80000},{"metrics":{"demand_mb":{"max":4221,"mean":4061.25,"min":3901.5,"values":[3901.5,4221]},"final_allocated_bytes":{"max":388235264,"mean":387825664,"min":387416064,"values":[388235264,387416064]},"index_build_seconds":{"max":39.116499999999995,"mean":38.66575,"min":38.215,"values":[39.116499999999995,38.215]},"lifecycle_seconds":{"max":693.1322038173676,"mean":693.0248359441757,"min":692.9174680709839,"values":[693.1322038173676,692.9174680709839]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":532.0495,"mean":520.60535,"min":509.1612,"values":[509.1612,532.0495]},"serial_p95_ms":{"max":4.8,"mean":4.55,"min":4.3,"values":[4.8,4.3]}},"profile":"fast","qualification":{"ndcg_min":0.9632,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9583,"request_errors":0,"trials":[{"ndcg":0.974,"recall":0.9701,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.45},"trial":1},{"ndcg":0.9632,"recall":0.9583,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":100000},{"metrics":{"demand_mb":{"max":7984,"mean":7862.45,"min":7740.9,"values":[7740.9,7984]},"final_allocated_bytes":{"max":770670592,"mean":770097152,"min":769523712,"values":[770670592,769523712]},"index_build_seconds":{"max":92.46740000000001,"mean":92.26135000000001,"min":92.0553,"values":[92.0553,92.46740000000001]},"lifecycle_seconds":{"max":753.3726377487183,"mean":753.3653289079666,"min":753.358020067215,"values":[753.358020067215,753.3726377487183]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":272.8647,"mean":271.4648,"min":270.0649,"values":[272.8647,270.0649]},"serial_p95_ms":{"max":6.7,"mean":6.65,"min":6.6,"values":[6.6,6.7]}},"profile":"big","qualification":{"ndcg_min":0.9726,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9685,"request_errors":0,"trials":[{"ndcg":0.9726,"recall":0.9689,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":1},{"ndcg":0.9726,"recall":0.9685,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":200000},{"metrics":{"demand_mb":{"max":9741.4,"mean":9695.9,"min":9650.4,"values":[9650.4,9741.4]},"final_allocated_bytes":{"max":1540198400,"mean":1539745792,"min":1539293184,"values":[1540198400,1539293184]},"index_build_seconds":{"max":302.7898,"mean":293.1481,"min":283.5064,"values":[302.7898,283.5064]},"lifecycle_seconds":{"max":994.8732340335846,"mean":979.6541351079941,"min":964.4350361824036,"values":[994.8732340335846,964.4350361824036]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":148.6918,"mean":147.76265,"min":146.8335,"values":[148.6918,146.8335]},"serial_p95_ms":{"max":9.3,"mean":9.3,"min":9.3,"values":[9.3,9.3]}},"profile":"big","qualification":{"ndcg_min":0.9614,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9571,"request_errors":0,"trials":[{"ndcg":0.9641,"recall":0.9598,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.4},"trial":1},{"ndcg":0.9614,"recall":0.9571,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.4},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":400000},{"metrics":{"demand_mb":{"max":11374.6,"mean":11266.95,"min":11159.3,"values":[11374.6,11159.3]},"final_allocated_bytes":{"max":2319671296,"mean":2318622720,"min":2317574144,"values":[2319671296,2317574144]},"index_build_seconds":{"max":661.1655999999999,"mean":628.5563999999999,"min":595.9472,"values":[661.1655999999999,595.9472]},"lifecycle_seconds":{"max":1356.4823632240295,"mean":1326.3594111204147,"min":1296.2364590168,"values":[1356.4823632240295,1296.2364590168]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":122.2716,"mean":121.8983,"min":121.525,"values":[122.2716,121.525]},"serial_p95_ms":{"max":12.7,"mean":12.7,"min":12.7,"values":[12.7,12.7]}},"profile":"big","qualification":{"ndcg_min":0.971,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9678,"request_errors":0,"trials":[{"ndcg":0.971,"recall":0.9678,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":1},{"ndcg":0.9733,"recall":0.9701,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":600000},{"metrics":{"demand_mb":{"max":13988.5,"mean":13759.75,"min":13531,"values":[13988.5,13531]},"final_allocated_bytes":{"max":3075039232,"mean":3075026944,"min":3075014656,"values":[3075014656,3075039232]},"index_build_seconds":{"max":1222.4703,"mean":1209.6261,"min":1196.7819,"values":[1222.4703,1196.7819]},"lifecycle_seconds":{"max":1960.324383020401,"mean":1929.8124438524246,"min":1899.3005046844482,"values":[1960.324383020401,1899.3005046844482]},"peak_clients":{"max":5,"mean":5,"min":5,"values":[5,5]},"peak_qps":{"max":121.9874,"mean":120.2367,"min":118.486,"values":[118.486,121.9874]},"serial_p95_ms":{"max":12.9,"mean":12.9,"min":12.9,"values":[12.9,12.9]}},"profile":"big","qualification":{"ndcg_min":0.9675,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9639,"request_errors":0,"trials":[{"ndcg":0.9675,"recall":0.9639,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":1},{"ndcg":0.9676,"recall":0.9639,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":800000},{"metrics":{"demand_mb":{"max":16489.3,"mean":16479.6,"min":16469.9,"values":[16489.3,16469.9]},"final_allocated_bytes":{"max":3832627200,"mean":3831857152,"min":3831087104,"values":[3832627200,3831087104]},"index_build_seconds":{"max":2042.1998,"mean":2021.1676000000002,"min":2000.1354000000001,"values":[2000.1354000000001,2042.1998]},"lifecycle_seconds":{"max":2774.631982564926,"mean":2759.362026333809,"min":2744.0920701026917,"values":[2744.0920701026917,2774.631982564926]},"peak_clients":{"max":30,"mean":30,"min":30,"values":[30,30]},"peak_qps":{"max":84.7592,"mean":84.39615,"min":84.0331,"values":[84.7592,84.0331]},"serial_p95_ms":{"max":16,"mean":14.65,"min":13.3,"values":[13.3,16]}},"profile":"big","qualification":{"ndcg_min":0.9591,"query_indices_sha256":"7be5c5f24dfa31b66c5dfc3280c8f1bc5c1c8db3a35046a1a1ab9d50a0d232f7","recall_min":0.9547,"request_errors":0,"trials":[{"ndcg":0.9601,"recall":0.956,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":1},{"ndcg":0.9591,"recall":0.9547,"request_errors":0,"selected_effort":{"parameter":"search_effort","value":0.425},"trial":2}]},"storage_qualification":{"qualified_trials":0,"status":"provisional","total_trials":2,"trials":[{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":1},{"exit_code":1,"forced":false,"oom_killed":false,"status":"provisional","stop_command_error":null,"trial":2}]},"vectors":1000000}]Peer versions
Peer versions were not recorded in the published result fields.
Evidence digests
- Receipt
8926aafda670aa07cf588ebb090dd21a24e8abc9e54f5df6758aa71256b5772a- Aggregate
193d82a31b6565de8a6ffb41cfe31765206651604cc0d2e41f10d7f219c0b022- Provenance
193d82a31b6565de8a6ffb41cfe31765206651604cc0d2e41f10d7f219c0b022- Harness commit
3003c4db794a671ed204917d98e4dfcb85531ff1
- Completed
- Antfly
v0.2.1·- Runtime
- 6h 9m
- Platform
- linux · arm64
- Machine
- Apple M4 Max
- Build
- official-release
Execution span of all twenty retained lifecycles; publication assembly excluded.
Measurement group
Fast scale
Runtime: 1h 51m 30s across 10 fresh lifecycles; cache-only publication assembly excluded.
Two-lifecycle mean, range, and raw trial values
Antfly v0.2.1 · e5261e9e
| Vectors | Query status | Clean stops / total | Serial p95 ms | Peak QPS queries/s | Peak clients | Demand anon + shmem MB | Final volume MB | Build s | Recall min | Selected effort | Request errors |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 20,000 | ok | 2 / 2 | 2.50 [2.40–2.60]; trials 2.60, 2.40 | 2,048.27 [1,983.44–2,113.11]; trials 1,983.44, 2,113.11 | 10, 10 | 2,058.30 [2,026.60–2,090.00]; trials 2,090.00, 2,026.60 | 78.83 [78.80–78.86]; trials 78.80, 78.86 | 6.62 [6.43–6.82]; trials 6.82, 6.43 | 0.9586 | 0.5, 0.475 | 0 |
| 40,000 | ok | 2 / 2 | 3.00 [3.00–3.00]; trials 3.00, 3.00 | 1,178.36 [1,177.12–1,179.61]; trials 1,177.12, 1,179.61 | 5, 5 | 2,675.20 [1,664.30–3,686.10]; trials 3,686.10, 1,664.30 | 155.24 [154.95–155.54]; trials 154.95, 155.54 | 15.31 [12.88–17.74]; trials 17.74, 12.88 | 0.9612 | 0.45, 0.45 | 0 |
| 60,000 | ok | 2 / 2 | 3.60 [3.60–3.60]; trials 3.60, 3.60 | 849.13 [845.92–852.34]; trials 845.92, 852.34 | 5, 5 | 2,913.70 [2,708.60–3,118.80]; trials 3,118.80, 2,708.60 | 233.41 [233.08–233.75]; trials 233.75, 233.08 | 21.89 [21.82–21.96]; trials 21.82, 21.96 | 0.9670 | 0.45, 0.45 | 0 |
| 80,000 | ok | 0 / 2 | 4.30 [4.30–4.30]; trials 4.30, 4.30 | 627.57 [622.63–632.50]; trials 622.63, 632.50 | 5, 5 | 3,279.95 [3,159.70–3,400.20]; trials 3,159.70, 3,400.20 | 311.32 [310.93–311.72]; trials 310.93, 311.72 (provisional) | 30.15 [29.59–30.72]; trials 29.59, 30.72 | 0.9706 | 0.45, 0.45 | 0 |
| 100,000 | ok | 0 / 2 | 4.55 [4.30–4.80]; trials 4.80, 4.30 | 520.61 [509.16–532.05]; trials 509.16, 532.05 | 5, 5 | 4,061.25 [3,901.50–4,221.00]; trials 3,901.50, 4,221.00 | 387.83 [387.42–388.24]; trials 388.24, 387.42 (provisional) | 38.67 [38.22–39.12]; trials 39.12, 38.22 | 0.9583 | 0.45, 0.425 | 0 |
Serial query p95 (1 client)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 20,000–100,000 vectors · 768d · serial after client sweep · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Peak throughput (best client count)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 20,000–100,000 vectors · 768d · best measured client count · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Higher is better
Lifecycle demand (anon + shmem)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 20,000–100,000 vectors · 768d · cgroup anon + shmem peak from pre-index through 1/5/10/20/30-client sweep · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Final database volume
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 20,000–100,000 vectors · 768d · post-stop allocated bytes · Provisional captures omitted; measured values retained in the table · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Index build time
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 20,000–100,000 vectors · 768d · insert + optimize · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Measurement group
Big scale
Runtime: 4h 18m 17s across 10 fresh lifecycles; cache-only publication assembly excluded.
Two-lifecycle mean, range, and raw trial values
Antfly v0.2.1 · e5261e9e
| Vectors | Query status | Clean stops / total | Serial p95 ms | Peak QPS queries/s | Peak clients | Demand anon + shmem MB | Final volume MB | Build s | Recall min | Selected effort | Request errors |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 200,000 | ok | 0 / 2 | 6.65 [6.60–6.70]; trials 6.60, 6.70 | 271.46 [270.06–272.86]; trials 272.86, 270.06 | 5, 5 | 7,862.45 [7,740.90–7,984.00]; trials 7,740.90, 7,984.00 | 770.10 [769.52–770.67]; trials 770.67, 769.52 (provisional) | 92.26 [92.06–92.47]; trials 92.06, 92.47 | 0.9685 | 0.425, 0.425 | 0 |
| 400,000 | ok | 0 / 2 | 9.30 [9.30–9.30]; trials 9.30, 9.30 | 147.76 [146.83–148.69]; trials 148.69, 146.83 | 5, 5 | 9,695.90 [9,650.40–9,741.40]; trials 9,650.40, 9,741.40 | 1,539.75 [1,539.29–1,540.20]; trials 1,540.20, 1,539.29 (provisional) | 293.15 [283.51–302.79]; trials 302.79, 283.51 | 0.9571 | 0.4, 0.4 | 0 |
| 600,000 | ok | 0 / 2 | 12.70 [12.70–12.70]; trials 12.70, 12.70 | 121.90 [121.53–122.27]; trials 122.27, 121.53 | 5, 5 | 11,266.95 [11,159.30–11,374.60]; trials 11,374.60, 11,159.30 | 2,318.62 [2,317.57–2,319.67]; trials 2,319.67, 2,317.57 (provisional) | 628.56 [595.95–661.17]; trials 661.17, 595.95 | 0.9678 | 0.425, 0.425 | 0 |
| 800,000 | ok | 0 / 2 | 12.90 [12.90–12.90]; trials 12.90, 12.90 | 120.24 [118.49–121.99]; trials 118.49, 121.99 | 5, 5 | 13,759.75 [13,531.00–13,988.50]; trials 13,988.50, 13,531.00 | 3,075.03 [3,075.01–3,075.04]; trials 3,075.01, 3,075.04 (provisional) | 1,209.63 [1,196.78–1,222.47]; trials 1,222.47, 1,196.78 | 0.9639 | 0.425, 0.425 | 0 |
| 1,000,000 | ok | 0 / 2 | 14.65 [13.30–16.00]; trials 13.30, 16.00 | 84.40 [84.03–84.76]; trials 84.76, 84.03 | 30, 30 | 16,479.60 [16,469.90–16,489.30]; trials 16,489.30, 16,469.90 | 3,831.86 [3,831.09–3,832.63]; trials 3,832.63, 3,831.09 (provisional) | 2,021.17 [2,000.14–2,042.20]; trials 2,000.14, 2,042.20 | 0.9547 | 0.425, 0.425 | 0 |
Serial query p95 (1 client)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 200,000–1,000,000 vectors · 768d · serial after client sweep · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Peak throughput (best client count)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 200,000–1,000,000 vectors · 768d · best measured client count · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Higher is better
Lifecycle demand (anon + shmem)
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 200,000–1,000,000 vectors · 768d · cgroup anon + shmem peak from pre-index through 1/5/10/20/30-client sweep · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better
Index build time
Antfly v0.2.1 (e5261e9e2937d03943b518974bf8063351ad1449) · official-release · Platform: linux-arm64 · Processor: Apple M4 Max · 200,000–1,000,000 vectors · 768d · insert + optimize · seed antfly-circus-vdbbench-v1 · 200 calibration / 800 held-out · 1/5/10/20/30 clients × 30 s · Lower is better