From 094a95f0fd005da879894759c2fce9734ae1402e Mon Sep 17 00:00:00 2001 From: gouyt13clear Date: Fri, 23 Oct 2026 01:25:58 +0800 Subject: [PATCH] chore: prepare v0.7.1 and refresh library benchmarks --- CMakeLists.txt | 2 +- benchmarks/README.md | 2 +- benchmarks/plot_homepage.py | 2 +- docs/docs/benchmarks/bench.md | 50 +- .../figures/graphs-dbpedia-qps-recall.svg | 614 +++++----- .../figures/graphs-gist1m-qps-recall.svg | 649 +++++----- .../benchmarks/figures/homepage-gist1m.svg | 149 +-- docs/docs/benchmarks/figures/indexing.csv | 32 +- .../figures/ivf-dbpedia-qps-recall.svg | 1040 ++++++++-------- .../figures/ivf-gist1m-qps-recall.svg | 1078 +++++++++-------- docs/docs/benchmarks/figures/kmeans.csv | 4 +- .../benchmarks/figures/qps-recall-points.csv | 260 ++-- docs/docs/benchmarks/graphs.md | 24 +- docs/docs/benchmarks/ivf.md | 16 +- docs/docs/benchmarks/kmeans.md | 8 +- pyproject.toml | 2 +- 16 files changed, 1956 insertions(+), 1976 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 09247885..858000e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.20) -project(RaBitQLib VERSION 0.7.0 LANGUAGES CXX) +project(RaBitQLib VERSION 0.7.1 LANGUAGES CXX) include(CMakePackageConfigHelpers) include(GNUInstallDirs) diff --git a/benchmarks/README.md b/benchmarks/README.md index 314f1dcb..e75c1a65 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -15,7 +15,7 @@ Results: [IVF](../docs/docs/benchmarks/ivf.md), From the repository root, after installing the documented system prerequisites and activating a Python 3.13 environment, these commands measure the active checkout. -Published library results use 0.7.0; baseline results retain historical measurements. +Published library results use 0.7.1; each baseline retains its latest measurement. See the [recorded revisions and environments](../docs/docs/benchmarks/bench.md#package-installation). Keep measurements of different revisions in separate output directories. diff --git a/benchmarks/plot_homepage.py b/benchmarks/plot_homepage.py index 7900715c..311a56ef 100644 --- a/benchmarks/plot_homepage.py +++ b/benchmarks/plot_homepage.py @@ -47,7 +47,7 @@ def main(): fig.text( 0.065, 0.88, - "Fastest measured QPS at Recall@10 ≥ 90% · RaBitQ-Library 0.7.0", + "Fastest measured QPS at Recall@10 ≥ 90% · RaBitQ-Library 0.7.1", color="#475569", fontsize=12, ) diff --git a/docs/docs/benchmarks/bench.md b/docs/docs/benchmarks/bench.md index f5e14c98..0e837c02 100644 --- a/docs/docs/benchmarks/bench.md +++ b/docs/docs/benchmarks/bench.md @@ -26,40 +26,43 @@ L2 ground truth for OpenAI. | CPU | One Intel Xeon Gold 6418H, 24 cores, 48 hardware threads | | Construction / clustering | 48 threads | | Query throughput | 1 process, 1 search thread, 1 query per call | -| Platform | Ubuntu 22.04, x86-64; RaBitQ 0.7.0: Linux 6.8.0-138-generic; historical baselines: Linux 6.8.0-84-generic | +| Platform | Ubuntu 22.04, x86-64; RaBitQ 0.7.1: Linux 6.8.0-138-generic; retained baselines: Linux 6.8.0-84-generic | | Python / NumPy | 3.13.15 / 2.5.2 | -| Compiler / CMake | RaBitQ 0.7.0: GCC 14.3.0 / 3.28.3, Release, native optimization OFF; historical baselines: GCC 13.1.0 / 3.28.3, Release | -| RaBitQ-Library | 0.7.0, measured 2026-10-13 | +| Compiler / CMake | RaBitQ 0.7.1: GCC 14.3.0 / 3.28.3, Release, native optimization OFF; retained baselines: GCC 13.1.0 / 3.28.3, Release | +| RaBitQ-Library | 0.7.1, measured 2026-10-23 (Asia/Singapore) | | Baselines | Faiss 1.15.0, SuperKMeans 0.2.0; Intel MKL 2020.4, GNU OpenMP | ## Package installation -The RaBitQ-Library rows and curves were refreshed on 2026-10-13 using 0.7.0. -The measurement checkout was `de793e8a978a51a7031efefe96573043e8251bb7`; -the installed wheel was built from `0c7578126b84e08b98816c0e01f0824a0a79525f`, -which has the same source tree. The measured extension SHA-256 was -`48560860ef4ddc6d929e53a36afd233de3569dcce74d6c46338a11a1113c9ed4`. +The RaBitQ-Library rows and curves were refreshed on 2026-10-23 (Asia/Singapore) +using a locally built 0.7.1 wheel. The measurement checkout was +`1f2a271fea16afabee63a96cf15ecbb3ff1c3723`, with only the package versions in +`CMakeLists.txt` and `pyproject.toml` changed from 0.7.0 to 0.7.1 before building. +The SHA-256 of that `git diff --binary` snapshot was +`c678630e695c45434b1c5296c8b37404abc66f1739a97d9ffe7550f41de68432`. +The measured extension SHA-256 was +`c80b90dc666006c5bdcf9884e445da288b8f280f53232d0560c1ff55d4a06d4d`. -Faiss and SuperKMeans measurements are retained unchanged from the historical +The latest available Faiss and SuperKMeans measurements are retained unchanged from snapshot `a332c1ce97588aaed4f6a8a5476f84a81f947313`; they were not rerun. The baseline configurations, search grids and timing definitions are unchanged. These comparisons combine separate measurement sessions and different compiler and kernel versions, as recorded above; they are not a controlled measurement of the effect of upgrading RaBitQ alone. -To use the source tree measured for 0.7.0, start in a separate checkout and +To use the measured library source, start in a separate checkout and activate your benchmark Python environment: ```bash git clone --no-checkout https://github.com/VectorDB-NTU/RaBitQ-Library.git RaBitQ-benchmark-snapshot cd RaBitQ-benchmark-snapshot -git checkout --detach de793e8a978a51a7031efefe96573043e8251bb7 +git checkout --detach 1f2a271fea16afabee63a96cf15ecbb3ff1c3723 ``` -For the historical results labeled 0.5.2, use snapshot -`a332c1ce97588aaed4f6a8a5476f84a81f947313` instead. That snapshot does not -identify the original measurement binaries, whose exact reproduction remains -unverified. For any new measurement, record the source commit, local changes, +Set the two package version declarations to 0.7.1 to reproduce the wheel metadata; +the library code is unchanged from that commit. The retained baseline snapshot +does not identify its original measurement binaries, whose exact reproduction +remains unverified. For any new measurement, record the source commit, local changes, compiler and build options, and use a separate output directory. Use a Python 3.13 environment on Ubuntu x86-64. Ubuntu 22.04 needs a package @@ -79,7 +82,7 @@ in the active environment. Both baselines link to MKL with GNU OpenMP. Build log and verification records are saved in `build/benchmark-baselines/`. Use `--dry-run` to preview installation commands. The installer defaults to the historical GCC 13 toolchain; it does not recreate the GCC 14.3.0 wheel used for -the 0.7.0 measurements. Match the recorded compiler and native-optimization +the 0.7.1 measurements. Match the recorded compiler and native-optimization setting when comparing new library timings. ## Construction and search settings @@ -121,10 +124,11 @@ checks are outside construction timing. Each method has one build or fit per dataset; results do not measure run-to-run variation. The committed CSVs support checking the displayed tables and plotted points, -but do not include raw run logs or measurement binaries. The 0.7.0 raw records, +but do not include raw run logs or measurement binaries. The 0.7.1 raw records, logs and indexes are retained locally under -`results/benchmarks-0.7.0-20261013-2239/`, including the run manifest and the -provenance of the reused local OpenAI dataset. Historical baseline raw logs and +`results/benchmarks-0.7.1-20261023/`. The source/build manifest, wheel hashes, +validation logs and execution status are retained in the local release task records. +Historical baseline raw logs and binaries are not included. No run-to-run or shared-host noise correction is applied. The experiments in the cited papers are separate measurements. @@ -194,13 +198,13 @@ equal-memory comparison. The tables below identify the selected CSV rows. | Configuration | Measured Recall@10 | Selected search setting | | --- | ---: | --- | -| IVF-RaBitQ · 5-bit | 92.85% | `nprobe=128` | -| HNSW-RaBitQ · 5-bit | 92.56% | `ef=512` | -| SymphonyQG · 4-bit | 90.69% | `ef=512` | +| IVF-RaBitQ · 5-bit | 92.82% | `nprobe=128` | +| HNSW-RaBitQ · 5-bit | 92.70% | `ef=512` | +| SymphonyQG · 4-bit | 90.36% | `ef=512` | -The figures use the 0.7.0 measurements described above, with one search thread +The figures use the 0.7.1 measurements described above, with one search thread and one query per call. Each setting has one timing pass. QPS includes Python call overhead after warm-up and excludes loading. Index size is serialized storage including sidecars, not resident or peak RAM. diff --git a/docs/docs/benchmarks/figures/graphs-dbpedia-qps-recall.svg b/docs/docs/benchmarks/figures/graphs-dbpedia-qps-recall.svg index 61a31940..e205caba 100644 --- a/docs/docs/benchmarks/figures/graphs-dbpedia-qps-recall.svg +++ b/docs/docs/benchmarks/figures/graphs-dbpedia-qps-recall.svg @@ -6,7 +6,7 @@ - 2026-10-13T23:26:21.072194 + 2026-10-23T01:17:57.465322 image/svg+xml @@ -39,7 +39,7 @@ z - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + @@ -210,16 +210,16 @@ z +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -230,11 +230,11 @@ L 0 3.5 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -245,11 +245,11 @@ L 190.666667 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -260,11 +260,11 @@ L 273.333333 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 356 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -290,11 +290,11 @@ L 438.666667 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -305,11 +305,11 @@ L 521.333333 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -320,11 +320,11 @@ L 604 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -335,11 +335,11 @@ L 686.666667 97.2 +" clip-path="url(#p287c7d4593)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -353,23 +353,23 @@ L 769.333333 97.2 - + - - + - + 1 0 @@ -380,18 +380,18 @@ L -3.5 0 - + - + - + 1 0 @@ -403,138 +403,138 @@ L 777.6 182.151832 - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -543,16 +543,16 @@ L -2 0 - + - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + - +" clip-path="url(#p287c7d4593)" style="fill: none; stroke-dasharray: 5.18,2.24; stroke-dashoffset: 0; stroke: #8c564b; stroke-width: 1.4"/> - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + - + - - - - - - - - - + + + + + + + + @@ -799,12 +799,12 @@ L 777.6 440.64 - - - + - SymphonyQG raw + SymphonyQG raw - - - + - SymphonyQG 4-bit + SymphonyQG 4-bit - - - + - SymphonyQG 8-bit + SymphonyQG 8-bit - - - + - HNSW-RaBitQ 1+4 + HNSW-RaBitQ 1+4 - - - + - HNSW-RaBitQ 1+8 + HNSW-RaBitQ 1+8 - - - + - Faiss HNSW Flat + Faiss HNSW Flat - - - + - Faiss HNSW SQ4 + Faiss HNSW SQ4 - - - + - Faiss HNSW SQ8 + Faiss HNSW SQ8 - + diff --git a/docs/docs/benchmarks/figures/graphs-gist1m-qps-recall.svg b/docs/docs/benchmarks/figures/graphs-gist1m-qps-recall.svg index 48b6f280..a1f952de 100644 --- a/docs/docs/benchmarks/figures/graphs-gist1m-qps-recall.svg +++ b/docs/docs/benchmarks/figures/graphs-gist1m-qps-recall.svg @@ -6,7 +6,7 @@ - 2026-10-13T23:26:20.822354 + 2026-10-23T01:17:57.296324 image/svg+xml @@ -39,7 +39,7 @@ z - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + @@ -210,16 +210,16 @@ z +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -230,11 +230,11 @@ L 0 3.5 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -245,11 +245,11 @@ L 202.978723 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -260,11 +260,11 @@ L 297.957447 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 392.93617 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -290,11 +290,11 @@ L 487.914894 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -305,11 +305,11 @@ L 582.893617 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -320,11 +320,11 @@ L 677.87234 97.2 +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -338,23 +338,23 @@ L 772.851064 97.2 - + - - + - + 1 0 @@ -365,18 +365,18 @@ L -3.5 0 - + - + - + 1 0 @@ -388,138 +388,145 @@ L 777.6 193.366493 - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + @@ -527,17 +534,17 @@ L -2 0 Queries / second (log scale) - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + - - + +" clip-path="url(#pb54c01eb2c)" style="fill: none; stroke-dasharray: 5.18,2.24; stroke-dashoffset: 0; stroke: #7f7f7f; stroke-width: 1.4"/> - - - - - - - - - + + + + + + + + @@ -783,13 +790,13 @@ L 777.6 440.64 Faint markers: all measured settings. Lines: per-method Pareto frontier; no fitted or extrapolated points. - - + - - + - SymphonyQG raw + SymphonyQG raw - - + - - + - SymphonyQG 4-bit + SymphonyQG 4-bit - - + - - + - SymphonyQG 8-bit + SymphonyQG 8-bit - - + - - + - HNSW-RaBitQ 1+4 + HNSW-RaBitQ 1+4 - - + - - + - HNSW-RaBitQ 1+8 + HNSW-RaBitQ 1+8 - - + - - + - Faiss HNSW Flat + Faiss HNSW Flat - - + - - + - Faiss HNSW SQ4 + Faiss HNSW SQ4 - - + - - + - Faiss HNSW SQ8 + Faiss HNSW SQ8 - + diff --git a/docs/docs/benchmarks/figures/homepage-gist1m.svg b/docs/docs/benchmarks/figures/homepage-gist1m.svg index f608700c..6a1982ff 100644 --- a/docs/docs/benchmarks/figures/homepage-gist1m.svg +++ b/docs/docs/benchmarks/figures/homepage-gist1m.svg @@ -73,68 +73,35 @@ L 325.952542 247.104 - - 500 + 1000 - - 1000 + 2000 - - 1500 - - - - - - - - - 2000 - - - - - - - - - 2500 - - - - - - - - - 3000 + 3000 @@ -146,16 +113,16 @@ L 325.952542 247.104 @@ -167,16 +134,16 @@ L 258.527998 120.384 z " clip-path="url(#p5fa146be57)" style="fill: #e29838"/> - - 948 + + 1,038 - - 1,466 + + 1,866 - - 2,642 + + 3,086 - + Queries / second Higher is better @@ -192,91 +159,91 @@ z - - + + IVF-RaBitQ 5-bit - - + + HNSW-RaBitQ 5-bit - - + + SymphonyQG 4-bit - - + + - - + + 0 - - + + - - + + 1 - - + + - - + + 2 - - + + - - + + 3 - - + + - - + + 4 - - + + - - + + 5 @@ -310,27 +277,27 @@ L 638.175455 120.384 z " clip-path="url(#p77858e02fd)" style="fill: #e29838"/> - + 0.60 - + 0.72 - + 4.39 - + Index size · GiB Lower is better - + GIST1M - - Fastest measured QPS at Recall@10 ≥ 90% · RaBitQ-Library 0.7.0 + + Fastest measured QPS at Recall@10 ≥ 90% · RaBitQ-Library 0.7.1 - + 1 search thread · 1 query/call · Index size is serialized storage, not RAM diff --git a/docs/docs/benchmarks/figures/indexing.csv b/docs/docs/benchmarks/figures/indexing.csv index 004d1871..32593341 100644 --- a/docs/docs/benchmarks/figures/indexing.csv +++ b/docs/docs/benchmarks/figures/indexing.csv @@ -1,33 +1,33 @@ dataset,family,method,training_s,indexing_s,build_s,save_s,serialized_index_bytes,construction_threads -gist1m,ivf,rabitq-ivf-raw,15.088995673053432,0.67176808899967,15.760801216994878,1.518683660950046,4000476062,48 -gist1m,ivf,rabitq-ivf-1p4,15.682781706971582,1.8312895899871364,17.51410987903364,0.2512925719493069,648476062,48 -gist1m,ivf,rabitq-ivf-1p8,15.606444581993856,7.008261333976407,22.614744185004383,0.44753881002543494,1128476062,48 +gist1m,ivf,rabitq-ivf-raw,15.029599979985505,1.503472917014733,16.533113752957433,1.6122364529874176,4000476062,48 +gist1m,ivf,rabitq-ivf-1p4,14.974615610903129,1.9486809130758047,16.923331793164834,0.27686144690960646,648476062,48 +gist1m,ivf,rabitq-ivf-1p8,14.809158546151593,7.227638584095985,22.036832833196968,0.4556345189921558,1128476062,48 gist1m,ivf,faiss-rabitqfs-raw,41.60687803989276,6.758632214739919,48.367109845392406,1.5819987310096622,4009934430,48 gist1m,ivf,faiss-rabitqfs-1p4,41.239345733076334,13.162328890990466,54.40425459900871,0.28943439619615674,728962696,48 gist1m,ivf,faiss-rabitqfs-1p8,41.37886307295412,39.81617270922288,81.19657412171364,0.51593446591869,1275188872,48 gist1m,ivf,faiss-pqfs,34.52272639609873,6.5879326411522925,41.11183687672019,1.5885270270518959,4119607590,48 gist1m,ivf,faiss-opq-pqfs,232.45455483580008,7.514239463023841,239.97109729098156,1.629965650383383,4123370861,48 -gist1m,graphs,rabitq-symqg-raw,0.0,34.542772990011144,34.542788423015736,3.1969705049996264,8064000518,48 -gist1m,graphs,rabitq-symqg-4,0.0,37.02255033899564,37.022566780040506,1.791680620983243,4712004378,48 -gist1m,graphs,rabitq-symqg-8,0.0,37.851093037985265,37.85110812599305,1.9931676590349525,5192004378,48 -gist1m,graphs,rabitq-hnsw-1p4,1.3927862650016323,71.06217926001409,72.45500388200162,0.3255385330412537,768589041,48 -gist1m,graphs,rabitq-hnsw-1p8,1.3918420809786767,77.65194889600389,79.04382985294797,0.5315831400221214,1248589041,48 +gist1m,graphs,rabitq-symqg-raw,0.0,31.453019980108365,31.45303363003768,3.3412291000131518,8064000518,48 +gist1m,graphs,rabitq-symqg-4,0.0,30.68505467288196,30.68506786902435,1.8700641300529242,4712004378,48 +gist1m,graphs,rabitq-symqg-8,0.0,32.33165256306529,32.33166666608304,2.0847099339589477,5192004378,48 +gist1m,graphs,rabitq-hnsw-1p4,1.2803362801205367,70.71755598019809,71.99792880984023,0.3651914519723505,768589041,48 +gist1m,graphs,rabitq-hnsw-1p8,1.2446083829272538,76.68692953092977,77.93157413881272,0.5843510290142149,1248589041,48 gist1m,graphs,faiss-hnsw-flat,3.4594908356666565e-05,78.93601581081748,78.93702552421018,1.6070536905899644,3984258362,48 gist1m,graphs,faiss-hnsw-sq4,1.0616188147105277,55.10552563937381,56.16821300517768,0.24274761974811554,624266078,48 gist1m,graphs,faiss-hnsw-sq8,1.0816914499737322,47.12117446027696,48.20351363904774,0.41724564833566546,1104266078,48 -dbpedia,ivf,rabitq-ivf-raw,24.72737027099356,1.0756213419954292,25.80303064500913,2.4555576069978997,6383774494,48 -dbpedia,ivf,rabitq-ivf-1p4,24.61331564496504,3.014843553013634,27.628196500008926,0.3886875809985213,1021142494,48 -dbpedia,ivf,rabitq-ivf-1p8,24.440911780984607,12.317547098966315,36.758497725008056,0.6791292080306448,1788374494,48 +dbpedia,ivf,rabitq-ivf-raw,23.974238038994372,2.149192471988499,26.123467094032094,2.5414986121468246,6383774494,48 +dbpedia,ivf,rabitq-ivf-1p4,23.7901160530746,3.2169052800163627,27.00705679389648,0.41743668890558183,1021142494,48 +dbpedia,ivf,rabitq-ivf-1p8,24.10770831000991,12.738914883928373,36.8466591660399,0.6957726099062711,1788374494,48 dbpedia,ivf,faiss-rabitqfs-raw,85.28691623080522,12.971096782013774,98.26071831583977,2.706343464087695,6460068638,48 dbpedia,ivf,faiss-rabitqfs-1p4,86.94140290375799,28.046236151829362,114.99026683531702,0.5991422357037663,1423356232,48 dbpedia,ivf,faiss-rabitqfs-1p8,119.86079298425466,91.1069279271178,210.96929090702906,0.9999383529648185,2511745352,48 dbpedia,ivf,faiss-pqfs,99.81868983665481,15.401424441952258,115.22205780772492,2.5630933842621744,6579360742,48 dbpedia,ivf,faiss-opq-pqfs,1414.2767510288395,13.646546002943069,1427.9251843532547,2.72974043013528,6588736557,48 -dbpedia,graphs,rabitq-symqg-raw,0.0,53.35033816698706,53.350353079033084,5.005087136989459,12659328806,48 -dbpedia,graphs,rabitq-symqg-4,0.0,54.92844178201631,54.9284574080375,2.72510419099126,7296702970,48 -dbpedia,graphs,rabitq-symqg-8,0.0,55.37815729400609,55.37817212700611,3.2745696189813316,8063934970,48 -dbpedia,graphs,rabitq-hnsw-1p4,1.565344346978236,112.61934745695908,114.18473086401355,0.48496195499319583,1127498521,48 -dbpedia,graphs,rabitq-hnsw-1p8,1.7387747750035487,124.84325165697373,126.5820649950183,0.7888836030033417,1894730521,48 +dbpedia,graphs,rabitq-symqg-raw,0.0,50.55260536400601,50.55261912802234,4.9404015759937465,12659328806,48 +dbpedia,graphs,rabitq-symqg-4,0.0,50.135318328859285,50.13533247099258,2.7233801218681037,7296702970,48 +dbpedia,graphs,rabitq-symqg-8,0.0,51.26222846796736,51.262243401957676,3.016059234039858,8063934970,48 +dbpedia,graphs,rabitq-hnsw-1p4,1.5629704361781478,115.0325836611446,116.59559479705058,0.4877136219292879,1127498521,48 +dbpedia,graphs,rabitq-hnsw-1p8,1.7022794138174504,125.32850075210445,127.0308178649284,0.8080345829948783,1894730521,48 dbpedia,graphs,faiss-hnsw-flat,3.532087430357933e-05,147.53378360485658,147.53478899691254,2.6907204217277467,6281970202,48 dbpedia,graphs,faiss-hnsw-sq4,1.7431773450225592,101.82403805106878,103.56827840721235,0.3557668989524245,911358526,48 dbpedia,graphs,faiss-hnsw-sq8,1.7862217500805855,80.66227205796167,82.44955762801692,0.6384039986878633,1678590526,48 diff --git a/docs/docs/benchmarks/figures/ivf-dbpedia-qps-recall.svg b/docs/docs/benchmarks/figures/ivf-dbpedia-qps-recall.svg index 8bf507a6..317dc1f9 100644 --- a/docs/docs/benchmarks/figures/ivf-dbpedia-qps-recall.svg +++ b/docs/docs/benchmarks/figures/ivf-dbpedia-qps-recall.svg @@ -6,7 +6,7 @@ - 2026-10-13T23:26:20.992829 + 2026-10-23T01:17:57.383560 image/svg+xml @@ -39,7 +39,7 @@ z - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -354,16 +354,16 @@ z +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -374,11 +374,11 @@ L 0 3.5 +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -389,11 +389,11 @@ L 288.972973 97.2 +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -404,11 +404,11 @@ L 409.621622 97.2 +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -419,11 +419,11 @@ L 530.27027 97.2 +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -434,11 +434,11 @@ L 650.918919 97.2 +" clip-path="url(#p6948b10106)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -452,23 +452,23 @@ L 771.567568 97.2 - + - - + - + 1 0 @@ -479,18 +479,18 @@ L -3.5 0 - + - + - + 1 0 @@ -502,82 +502,82 @@ L 777.6 153.167117 - - + - + - + - + - + - + - + - + - + - + - + @@ -586,19 +586,19 @@ L -2 0 - + - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - +" clip-path="url(#p6948b10106)" style="fill: none; stroke-dasharray: 5.18,2.24; stroke-dashoffset: 0; stroke: #9467bd; stroke-width: 1.4"/> - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -963,7 +961,7 @@ L 278.305313 535.765781 L 287.305313 535.765781 " style="fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -988,7 +986,7 @@ L 278.305313 549.266484 L 287.305313 549.266484 " style="fill: none; stroke: #ff7f0e; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -1008,14 +1006,14 @@ L 278.305313 562.767187 L 287.305313 562.767187 " style="fill: none; stroke: #2ca02c; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -1027,7 +1025,7 @@ L 278.305313 576.267891 L 287.305313 576.267891 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #d62728; stroke-width: 1.5"/> - - + @@ -1047,14 +1045,14 @@ L 457.344844 535.765781 L 466.344844 535.765781 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #9467bd; stroke-width: 1.5"/> - - + @@ -1066,7 +1064,7 @@ L 457.344844 549.266484 L 466.344844 549.266484 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #8c564b; stroke-width: 1.5"/> - - + @@ -1094,7 +1092,7 @@ L 457.344844 562.767187 L 466.344844 562.767187 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #e377c2; stroke-width: 1.5"/> - - + @@ -1119,7 +1117,7 @@ L 457.344844 576.267891 L 466.344844 576.267891 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #7f7f7f; stroke-width: 1.5"/> - - + @@ -1136,7 +1134,7 @@ z - + diff --git a/docs/docs/benchmarks/figures/ivf-gist1m-qps-recall.svg b/docs/docs/benchmarks/figures/ivf-gist1m-qps-recall.svg index c109fe6b..20ebfd75 100644 --- a/docs/docs/benchmarks/figures/ivf-gist1m-qps-recall.svg +++ b/docs/docs/benchmarks/figures/ivf-gist1m-qps-recall.svg @@ -6,7 +6,7 @@ - 2026-10-13T23:26:20.656087 + 2026-10-23T01:17:57.116717 image/svg+xml @@ -39,7 +39,7 @@ z - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -354,16 +354,16 @@ z +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -374,11 +374,11 @@ L 0 3.5 +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -389,11 +389,11 @@ L 329.966851 97.2 +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -404,11 +404,11 @@ L 477.944751 97.2 +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -419,11 +419,11 @@ L 625.922652 97.2 +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -437,23 +437,23 @@ L 773.900552 97.2 - + - - + - + 1 0 @@ -464,18 +464,18 @@ L -3.5 0 - + - + - + 1 0 @@ -487,68 +487,68 @@ L 777.6 196.745052 - - + - + - + - + - + - + - + - + - + @@ -557,19 +557,19 @@ L -2 0 - + - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + - +" clip-path="url(#pf95e4f016f)" style="fill: none; stroke-dasharray: 5.18,2.24; stroke-dashoffset: 0; stroke: #8c564b; stroke-width: 1.4"/> - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -954,7 +958,7 @@ L 278.305313 535.765781 L 287.305313 535.765781 " style="fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -979,7 +983,7 @@ L 278.305313 549.266484 L 287.305313 549.266484 " style="fill: none; stroke: #ff7f0e; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -999,14 +1003,14 @@ L 278.305313 562.767187 L 287.305313 562.767187 " style="fill: none; stroke: #2ca02c; stroke-width: 1.5; stroke-linecap: square"/> - - + @@ -1018,7 +1022,7 @@ L 278.305313 576.267891 L 287.305313 576.267891 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #d62728; stroke-width: 1.5"/> - - + @@ -1038,14 +1042,14 @@ L 457.344844 535.765781 L 466.344844 535.765781 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #9467bd; stroke-width: 1.5"/> - - + @@ -1057,7 +1061,7 @@ L 457.344844 549.266484 L 466.344844 549.266484 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #8c564b; stroke-width: 1.5"/> - - + @@ -1085,7 +1089,7 @@ L 457.344844 562.767187 L 466.344844 562.767187 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #e377c2; stroke-width: 1.5"/> - - + @@ -1110,7 +1114,7 @@ L 457.344844 576.267891 L 466.344844 576.267891 " style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #7f7f7f; stroke-width: 1.5"/> - - + @@ -1127,7 +1131,7 @@ z - + diff --git a/docs/docs/benchmarks/figures/kmeans.csv b/docs/docs/benchmarks/figures/kmeans.csv index 5ddbe5f2..7071fd01 100644 --- a/docs/docs/benchmarks/figures/kmeans.csv +++ b/docs/docs/benchmarks/figures/kmeans.csv @@ -1,7 +1,7 @@ dataset,method,clusters,threads,iteration_limit,actual_iterations,total_s,training_s,assignment_s,wcss,recall_at_10,nprobe -gist1m,qgkmeans,4096,48,25,25,15.683111179969274,,,1034787.8701221772,0.8196,40 +gist1m,qgkmeans,4096,48,25,25,14.878384937066585,,,1034709.004104586,0.8159,40 gist1m,faiss,4096,48,25,25,84.17002899572253,81.0265609798953,3.1434680158272386,1034624.8831152479,0.8157,40 gist1m,superkmeans,4096,48,25,25,28.14010765682906,24.449575346894562,3.690532309934497,1034648.386635695,0.8207,40 -dbpedia,qgkmeans,4096,48,25,25,22.370854098000564,,,620378.1316164403,0.8939,40 +dbpedia,qgkmeans,4096,48,25,25,22.34869423508644,,,620213.4443011406,0.8944,40 dbpedia,faiss,4096,48,25,25,171.03296095784754,164.48468135716394,6.5482796006836,620737.5338938761,0.8947,40 dbpedia,superkmeans,4096,48,25,24,35.231373528018594,28.58055611886084,6.650817409157753,620268.6283306194,0.8968,40 diff --git a/docs/docs/benchmarks/figures/qps-recall-points.csv b/docs/docs/benchmarks/figures/qps-recall-points.csv index a04ed395..c85c24fe 100644 --- a/docs/docs/benchmarks/figures/qps-recall-points.csv +++ b/docs/docs/benchmarks/figures/qps-recall-points.csv @@ -1,34 +1,34 @@ dataset,method,setting,recall_at_10,qps -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,2218.6712240287297 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 2}",0.23820000000000002,2155.646711865512 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 4}",0.3503,2083.9865760906414 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 8}",0.4853,1999.9823001382827 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 16}",0.6271,1831.4885448094649 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 32}",0.7665,1648.4425979658422 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 64}",0.8736000000000002,1339.677957022197 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 128}",0.95,983.5453492503201 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 256}",0.9829000000000001,644.7538345923871 -gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 512}",0.9962,398.9679829792566 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,2060.850739868557 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 2}",0.2379,2063.063944827362 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 4}",0.3496,1988.1846995904816 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 8}",0.4839,1851.673247685292 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 16}",0.6245,1774.3215381658238 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 32}",0.7593000000000001,1515.8143371739955 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 64}",0.8604,1262.5528496475335 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 128}",0.9285,948.0548058355164 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 256}",0.9551000000000002,666.475953236854 -gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 512}",0.9648,333.28930903702735 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,1689.1479819010042 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 2}",0.23820000000000002,1730.7730226239055 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 4}",0.3502,1671.41907107472 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 8}",0.485,1557.4343377947898 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 16}",0.6267999999999999,1498.9196865909428 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 32}",0.7654000000000001,1276.9554830901652 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 64}",0.8718,1085.5191704818783 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 128}",0.9479000000000001,806.2913702871917 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 256}",0.9804,536.857996773618 -gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 512}",0.9934,321.50243571727555 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,2219.502882087779 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 2}",0.23810000000000003,2194.9868398165877 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 4}",0.3502,2125.749846583416 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 8}",0.48519999999999996,2032.2876285772047 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 16}",0.6273,1839.829442168384 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 32}",0.7664000000000001,1675.4142620181638 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 64}",0.8736,1392.1259936787799 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 128}",0.9498,1045.858493736003 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 256}",0.9827,719.3544134923152 +gist1m,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 512}",0.9959000000000001,436.3858386766529 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,2321.7522046045638 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 2}",0.23800000000000002,2292.5441180095704 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 4}",0.34970000000000007,2279.3340825576547 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 8}",0.4837,2156.6597045043786 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 16}",0.6243,1998.188438337739 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 32}",0.7588,1692.7440201299924 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 64}",0.8607000000000001,1406.6325487521985 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 128}",0.9282000000000001,1037.9517734779383 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 256}",0.9552,676.959776431712 +gist1m,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 512}",0.9653000000000002,397.47607761507595 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 1}",0.1475,2137.233867621917 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 2}",0.23820000000000002,2100.9640936842684 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 4}",0.3501,2032.6386313322753 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 8}",0.48510000000000003,1939.9523788155886 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 16}",0.627,1803.1657136388897 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 32}",0.7657999999999999,1559.3485293579458 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 64}",0.8721,1302.0673878948535 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 128}",0.9475,964.4084965876202 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 256}",0.98,635.6449004815082 +gist1m,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 512}",0.9931,382.2536571543168 gist1m,faiss-rabitqfs-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.16110000000000002,2014.0927239452988 gist1m,faiss-rabitqfs-raw,"{""k_factor"": 2, ""nprobe"": 1}",0.1637,1997.9254110236252 gist1m,faiss-rabitqfs-raw,"{""k_factor"": 5, ""nprobe"": 1}",0.16390000000000002,1918.577262395092 @@ -199,41 +199,41 @@ gist1m,faiss-opq-pqfs,"{""k_factor"": 2, ""nprobe"": 512}",0.9036000000000002,26 gist1m,faiss-opq-pqfs,"{""k_factor"": 5, ""nprobe"": 512}",0.9863,254.4628404248078 gist1m,faiss-opq-pqfs,"{""k_factor"": 10, ""nprobe"": 512}",0.9944,253.25533247918946 gist1m,faiss-opq-pqfs,"{""k_factor"": 20, ""nprobe"": 512}",0.996,250.83951174852962 -gist1m,rabitq-symqg-raw,"{""ef_search"": 16}",0.5397000000000001,35779.372264252546 -gist1m,rabitq-symqg-raw,"{""ef_search"": 32}",0.6914000000000001,24370.848884750965 -gist1m,rabitq-symqg-raw,"{""ef_search"": 64}",0.8131,15356.059263241628 -gist1m,rabitq-symqg-raw,"{""ef_search"": 128}",0.9023,8823.451896397304 -gist1m,rabitq-symqg-raw,"{""ef_search"": 256}",0.9549000000000001,4833.836179925166 -gist1m,rabitq-symqg-raw,"{""ef_search"": 512}",0.9803000000000001,2557.1330323060747 -gist1m,rabitq-symqg-raw,"{""ef_search"": 1024}",0.9949000000000001,1342.4032739057877 -gist1m,rabitq-symqg-4,"{""ef_search"": 16}",0.4574,37348.19448583406 -gist1m,rabitq-symqg-4,"{""ef_search"": 32}",0.609,26073.123463215372 -gist1m,rabitq-symqg-4,"{""ef_search"": 64}",0.7363,16536.16544190275 -gist1m,rabitq-symqg-4,"{""ef_search"": 128}",0.8296000000000001,9439.433575343535 -gist1m,rabitq-symqg-4,"{""ef_search"": 256}",0.8806000000000002,5121.590187946793 -gist1m,rabitq-symqg-4,"{""ef_search"": 512}",0.9069,2642.390622406039 -gist1m,rabitq-symqg-4,"{""ef_search"": 1024}",0.9170000000000001,1317.175534050556 -gist1m,rabitq-symqg-8,"{""ef_search"": 16}",0.5323,38315.613414435866 -gist1m,rabitq-symqg-8,"{""ef_search"": 32}",0.6831000000000002,27632.134199109696 -gist1m,rabitq-symqg-8,"{""ef_search"": 64}",0.8110000000000002,17432.06021107043 -gist1m,rabitq-symqg-8,"{""ef_search"": 128}",0.8938000000000001,9975.373793006944 -gist1m,rabitq-symqg-8,"{""ef_search"": 256}",0.9498,5476.34866109914 -gist1m,rabitq-symqg-8,"{""ef_search"": 512}",0.9748000000000001,2872.073899761055 -gist1m,rabitq-symqg-8,"{""ef_search"": 1024}",0.9883,1482.7146497052195 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 16}",0.4781,18699.677873717847 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 32}",0.6132000000000001,14109.426081485191 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 64}",0.7364,9637.248659419474 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 128}",0.8272999999999999,5684.92389443103 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 256}",0.8900000000000001,2966.2462505701483 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 512}",0.9256000000000001,1466.2999805996708 -gist1m,rabitq-hnsw-1p4,"{""ef_search"": 1024}",0.9425000000000001,734.3395545158552 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 16}",0.4832,16827.475066761705 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 32}",0.62,12811.284754724258 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 64}",0.7459000000000001,8763.04708875735 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 128}",0.8439000000000001,5346.9578092548045 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 256}",0.9131,2850.7670027194486 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 512}",0.952,1437.7487554951604 -gist1m,rabitq-hnsw-1p8,"{""ef_search"": 1024}",0.9729000000000001,735.2619742756078 +gist1m,rabitq-symqg-raw,"{""ef_search"": 16}",0.5295,40370.99806627556 +gist1m,rabitq-symqg-raw,"{""ef_search"": 32}",0.6865,27562.49095428417 +gist1m,rabitq-symqg-raw,"{""ef_search"": 64}",0.8121,17188.31187653401 +gist1m,rabitq-symqg-raw,"{""ef_search"": 128}",0.9011,9783.573844415025 +gist1m,rabitq-symqg-raw,"{""ef_search"": 256}",0.9576,5308.147909777009 +gist1m,rabitq-symqg-raw,"{""ef_search"": 512}",0.9835,2839.2764347910465 +gist1m,rabitq-symqg-raw,"{""ef_search"": 1024}",0.9945,1473.8218739965366 +gist1m,rabitq-symqg-4,"{""ef_search"": 16}",0.4654,44628.97052400827 +gist1m,rabitq-symqg-4,"{""ef_search"": 32}",0.6085,31022.754442714373 +gist1m,rabitq-symqg-4,"{""ef_search"": 64}",0.7356,19476.04794938848 +gist1m,rabitq-symqg-4,"{""ef_search"": 128}",0.8284000000000001,11063.700457830746 +gist1m,rabitq-symqg-4,"{""ef_search"": 256}",0.8801000000000001,5952.528205302989 +gist1m,rabitq-symqg-4,"{""ef_search"": 512}",0.9036000000000002,3086.233856200947 +gist1m,rabitq-symqg-4,"{""ef_search"": 1024}",0.9142000000000001,1546.718806235597 +gist1m,rabitq-symqg-8,"{""ef_search"": 16}",0.5331999999999999,44331.40162209576 +gist1m,rabitq-symqg-8,"{""ef_search"": 32}",0.6816,31082.33694145203 +gist1m,rabitq-symqg-8,"{""ef_search"": 64}",0.8081,19753.795356186318 +gist1m,rabitq-symqg-8,"{""ef_search"": 128}",0.8986000000000002,11210.166135718357 +gist1m,rabitq-symqg-8,"{""ef_search"": 256}",0.9485000000000001,6172.313720927082 +gist1m,rabitq-symqg-8,"{""ef_search"": 512}",0.9765,3265.7255969117596 +gist1m,rabitq-symqg-8,"{""ef_search"": 1024}",0.9863,1698.9766003016828 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 16}",0.4816,21606.8103373704 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 32}",0.6121,16312.522075720015 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 64}",0.7344,11283.120021282097 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 128}",0.8266000000000001,6820.491625827927 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 256}",0.8917,3695.913074326397 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 512}",0.9270000000000002,1866.2883177671267 +gist1m,rabitq-hnsw-1p4,"{""ef_search"": 1024}",0.9429000000000001,937.4111490066243 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 16}",0.4789,19557.242408005106 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 32}",0.616,15233.240334077187 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 64}",0.7428,10471.277783114094 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 128}",0.8417,6453.286508951591 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 256}",0.9117000000000001,3448.5275225757205 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 512}",0.951,1828.1787353428565 +gist1m,rabitq-hnsw-1p8,"{""ef_search"": 1024}",0.9709000000000001,937.4489538105804 gist1m,faiss-hnsw-flat,"{""ef_search"": 16}",0.49739999999999995,6294.544088577019 gist1m,faiss-hnsw-flat,"{""ef_search"": 32}",0.6306999999999999,3912.743611640825 gist1m,faiss-hnsw-flat,"{""ef_search"": 64}",0.7554,2388.2965969556044 @@ -255,36 +255,36 @@ gist1m,faiss-hnsw-sq8,"{""ef_search"": 128}",0.8434,1275.5174278302363 gist1m,faiss-hnsw-sq8,"{""ef_search"": 256}",0.9039,698.224703435659 gist1m,faiss-hnsw-sq8,"{""ef_search"": 512}",0.9374000000000001,385.09922727219015 gist1m,faiss-hnsw-sq8,"{""ef_search"": 1024}",0.9548000000000001,210.04956181553456 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.49689999999999995,1307.1745125288473 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 2}",0.611,1290.5238574331108 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 4}",0.6997000000000001,1270.01443529654 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 8}",0.7774000000000001,1230.3920871497558 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 16}",0.8335000000000001,1157.7262256091649 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 32}",0.885,1054.142155800656 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 64}",0.9254000000000001,890.4510170101519 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 128}",0.9567,680.4149496921953 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 256}",0.9771,460.597832334818 -dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 512}",0.9903,284.03469144391755 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 1}",0.4959,1344.2928365913008 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 2}",0.6091,1324.496350262112 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 4}",0.6968000000000001,1290.8176233321014 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 8}",0.7730000000000001,1250.8286302403 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 16}",0.8281000000000001,1161.2524392888047 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 32}",0.8779000000000001,1032.5773262536359 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 64}",0.9165000000000001,846.5537516468859 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 128}",0.9453,622.3797423680173 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 256}",0.9643,406.0573306630988 -dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 512}",0.9757,239.86323067793978 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 1}",0.4968,1467.2640622498682 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 2}",0.6108,1451.5500654371735 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 4}",0.6994000000000001,1418.0538367725092 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 8}",0.7770999999999999,1361.4716947922166 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 16}",0.8332999999999999,1285.8156078254922 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 32}",0.8844000000000001,1140.7909618223505 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 64}",0.9249,932.175605794036 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 128}",0.9557,693.7072489747153 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 256}",0.9762000000000001,454.21226733489453 -dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 512}",0.9894000000000001,270.0264405521016 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.4967,1407.8799952791508 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 2}",0.6107,1378.613817889627 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 4}",0.6994000000000001,1360.8214623698584 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 8}",0.7771,1313.5599994577142 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 16}",0.8333,1220.3268705047112 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 32}",0.8847,1104.4777698112193 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 64}",0.9254000000000001,926.7801968983192 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 128}",0.9567,716.1066927205705 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 256}",0.977,480.87891139191015 +dbpedia,rabitq-ivf-raw,"{""k_factor"": 1, ""nprobe"": 512}",0.9902000000000001,292.43030552840247 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 1}",0.49610000000000004,1466.532821519429 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 2}",0.6089000000000001,1420.2454987935707 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 4}",0.6968,1422.5885397314353 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 8}",0.7731,1367.0870330667822 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 16}",0.8278,1271.0354152057917 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 32}",0.8771000000000001,1139.345517187213 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 64}",0.9156,932.9868950876491 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 128}",0.9444000000000001,697.9428120672152 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 256}",0.9631000000000001,454.9419985305395 +dbpedia,rabitq-ivf-1p4,"{""k_factor"": 1, ""nprobe"": 512}",0.9744,269.84006694685155 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 1}",0.49689999999999995,1429.7327024088033 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 2}",0.6109,1401.78177252252 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 4}",0.6995,1384.995497396948 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 8}",0.7772,1331.0199709858246 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 16}",0.8333,1242.6451112264956 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 32}",0.8847,1113.8879286175386 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 64}",0.9253000000000001,913.8075156609062 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 128}",0.9562,677.5935727070362 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 256}",0.9767,450.224435964409 +dbpedia,rabitq-ivf-1p8,"{""k_factor"": 1, ""nprobe"": 512}",0.9899000000000001,267.3297922596763 dbpedia,faiss-rabitqfs-raw,"{""k_factor"": 1, ""nprobe"": 1}",0.4696,968.0227209640274 dbpedia,faiss-rabitqfs-raw,"{""k_factor"": 2, ""nprobe"": 1}",0.4868,964.4443231982366 dbpedia,faiss-rabitqfs-raw,"{""k_factor"": 5, ""nprobe"": 1}",0.48760000000000003,923.9652572942317 @@ -455,41 +455,41 @@ dbpedia,faiss-opq-pqfs,"{""k_factor"": 2, ""nprobe"": 512}",0.9873000000000001,1 dbpedia,faiss-opq-pqfs,"{""k_factor"": 5, ""nprobe"": 512}",0.9903,190.42143321970212 dbpedia,faiss-opq-pqfs,"{""k_factor"": 10, ""nprobe"": 512}",0.9903,191.85913955260074 dbpedia,faiss-opq-pqfs,"{""k_factor"": 20, ""nprobe"": 512}",0.9903,186.93282549390355 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 16}",0.7996000000000001,29669.81529530657 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 32}",0.9021000000000001,21926.36971986024 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 64}",0.9538000000000001,14384.692065900243 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 128}",0.9739000000000001,8873.361928502203 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 256}",0.9846,5084.666949101842 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 512}",0.9911,2816.0799860403326 -dbpedia,rabitq-symqg-raw,"{""ef_search"": 1024}",0.9964000000000001,1502.2934132098271 -dbpedia,rabitq-symqg-4,"{""ef_search"": 16}",0.6347999999999999,30490.519278865544 -dbpedia,rabitq-symqg-4,"{""ef_search"": 32}",0.8105000000000001,21682.855425614565 -dbpedia,rabitq-symqg-4,"{""ef_search"": 64}",0.8944000000000001,14436.807028353694 -dbpedia,rabitq-symqg-4,"{""ef_search"": 128}",0.9370000000000002,8373.509221803253 -dbpedia,rabitq-symqg-4,"{""ef_search"": 256}",0.9531000000000001,4632.115833009229 -dbpedia,rabitq-symqg-4,"{""ef_search"": 512}",0.9606000000000001,2517.2168509870835 -dbpedia,rabitq-symqg-4,"{""ef_search"": 1024}",0.9652000000000001,1343.5861730684285 -dbpedia,rabitq-symqg-8,"{""ef_search"": 16}",0.7962000000000001,32921.14743374827 -dbpedia,rabitq-symqg-8,"{""ef_search"": 32}",0.9016000000000002,24520.304382475722 -dbpedia,rabitq-symqg-8,"{""ef_search"": 64}",0.9513,16502.172724014752 -dbpedia,rabitq-symqg-8,"{""ef_search"": 128}",0.9711000000000002,10183.119786913881 -dbpedia,rabitq-symqg-8,"{""ef_search"": 256}",0.9836,5868.885816010707 -dbpedia,rabitq-symqg-8,"{""ef_search"": 512}",0.9893000000000001,3212.759838180141 -dbpedia,rabitq-symqg-8,"{""ef_search"": 1024}",0.994,1696.4249256847606 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 16}",0.8257000000000001,17065.32138833061 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 32}",0.8934000000000001,13631.726370504253 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 64}",0.9381,9891.490253435106 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 128}",0.9571000000000001,6490.71771806903 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 256}",0.9688000000000001,3646.2580690222885 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 512}",0.9729000000000001,1904.3977874666618 -dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 1024}",0.9757,948.1184771682832 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 16}",0.825,15429.078424815607 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 32}",0.9060000000000001,12560.244117148652 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 64}",0.9462999999999999,9360.777146179686 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 128}",0.9743,6126.476487841505 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 256}",0.9849000000000001,3528.733305503137 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 512}",0.9913,1848.6969410427967 -dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 1024}",0.9955,919.8490555762955 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 16}",0.8232,24401.59363447966 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 32}",0.9116000000000002,19496.90385447418 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 64}",0.956,13394.221138260245 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 128}",0.9765,8103.978912995729 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 256}",0.9871000000000001,4500.40826453387 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 512}",0.9935999999999999,2520.998981445264 +dbpedia,rabitq-symqg-raw,"{""ef_search"": 1024}",0.9960999999999999,1386.6726141760862 +dbpedia,rabitq-symqg-4,"{""ef_search"": 16}",0.6500999999999999,29939.252939616123 +dbpedia,rabitq-symqg-4,"{""ef_search"": 32}",0.8201000000000002,21041.776725305328 +dbpedia,rabitq-symqg-4,"{""ef_search"": 64}",0.9021000000000001,13691.40648168678 +dbpedia,rabitq-symqg-4,"{""ef_search"": 128}",0.9358000000000001,8052.771158054702 +dbpedia,rabitq-symqg-4,"{""ef_search"": 256}",0.9545,4593.909811988162 +dbpedia,rabitq-symqg-4,"{""ef_search"": 512}",0.9634000000000001,2475.988752519556 +dbpedia,rabitq-symqg-4,"{""ef_search"": 1024}",0.9667,1291.5336962209603 +dbpedia,rabitq-symqg-8,"{""ef_search"": 16}",0.8234000000000001,30745.360958583373 +dbpedia,rabitq-symqg-8,"{""ef_search"": 32}",0.9125,22646.37465743077 +dbpedia,rabitq-symqg-8,"{""ef_search"": 64}",0.9505,15558.417748233376 +dbpedia,rabitq-symqg-8,"{""ef_search"": 128}",0.9707,9310.912917878146 +dbpedia,rabitq-symqg-8,"{""ef_search"": 256}",0.9853,5445.562368940671 +dbpedia,rabitq-symqg-8,"{""ef_search"": 512}",0.9907999999999999,3019.5991652026405 +dbpedia,rabitq-symqg-8,"{""ef_search"": 1024}",0.9943,1605.9929283109577 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 16}",0.8298000000000001,17178.744457242894 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 32}",0.8983000000000001,13975.767461685418 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 64}",0.9366,9391.146346824453 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 128}",0.9555000000000001,6577.8607193196485 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 256}",0.9663,3697.4717525254755 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 512}",0.9717,1854.7753383565666 +dbpedia,rabitq-hnsw-1p4,"{""ef_search"": 1024}",0.9748000000000001,942.7852383984396 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 16}",0.8347,15485.624540209557 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 32}",0.906,12611.489043007907 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 64}",0.9504000000000001,9447.068724479577 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 128}",0.973,6218.5855277479495 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 256}",0.9843,3587.1487632203643 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 512}",0.9909,1881.1010645149643 +dbpedia,rabitq-hnsw-1p8,"{""ef_search"": 1024}",0.9939000000000001,946.9986297603816 dbpedia,faiss-hnsw-flat,"{""ef_search"": 16}",0.848,4172.367906120071 dbpedia,faiss-hnsw-flat,"{""ef_search"": 32}",0.9243000000000001,2742.54484463088 dbpedia,faiss-hnsw-flat,"{""ef_search"": 64}",0.9645,1649.1643632445584 diff --git a/docs/docs/benchmarks/graphs.md b/docs/docs/benchmarks/graphs.md index 9a332297..3c365bf7 100644 --- a/docs/docs/benchmarks/graphs.md +++ b/docs/docs/benchmarks/graphs.md @@ -1,7 +1,7 @@ # Graph benchmark -RaBitQ-Library results were measured with **0.7.0 on 2026-10-13**. -Baseline results are retained from the historical measurements and were not rerun. +RaBitQ-Library results were measured with **0.7.1 on 2026-10-23 (Asia/Singapore)**. +Each baseline retains its latest measurement and was not rerun. See the [source revisions, environments and comparison limits](bench.md#package-installation). Settings and results for eight configurations. See the [overview](bench.md) for @@ -48,11 +48,11 @@ See [figure definitions](bench.md#reading-the-figures) and | Method | Train s | Construct s | Total s | Save s | Index GiB | | --- | ---: | ---: | ---: | ---: | ---: | -| SymphonyQG raw | 0.00 | 34.54 | 34.54 | 3.20 | 7.51 | -| SymphonyQG 4-bit | 0.00 | 37.02 | 37.02 | 1.79 | 4.39 | -| SymphonyQG 8-bit | 0.00 | 37.85 | 37.85 | 1.99 | 4.84 | -| HNSW-RaBitQ 1+4 | 1.39 | 71.06 | 72.46 | 0.33 | 0.72 | -| HNSW-RaBitQ 1+8 | 1.39 | 77.65 | 79.04 | 0.53 | 1.16 | +| SymphonyQG raw | 0.00 | 31.45 | 31.45 | 3.34 | 7.51 | +| SymphonyQG 4-bit | 0.00 | 30.69 | 30.69 | 1.87 | 4.39 | +| SymphonyQG 8-bit | 0.00 | 32.33 | 32.33 | 2.08 | 4.84 | +| HNSW-RaBitQ 1+4 | 1.28 | 70.72 | 72.00 | 0.37 | 0.72 | +| HNSW-RaBitQ 1+8 | 1.24 | 76.69 | 77.93 | 0.58 | 1.16 | | Faiss HNSW Flat | 0.00 | 78.94 | 78.94 | 1.61 | 3.71 | | Faiss HNSW SQ4 | 1.06 | 55.11 | 56.17 | 0.24 | 0.58 | | Faiss HNSW SQ8 | 1.08 | 47.12 | 48.20 | 0.42 | 1.03 | @@ -67,11 +67,11 @@ See [figure definitions](bench.md#reading-the-figures) and | Method | Train s | Construct s | Total s | Save s | Index GiB | | --- | ---: | ---: | ---: | ---: | ---: | -| SymphonyQG raw | 0.00 | 53.35 | 53.35 | 5.01 | 11.79 | -| SymphonyQG 4-bit | 0.00 | 54.93 | 54.93 | 2.73 | 6.80 | -| SymphonyQG 8-bit | 0.00 | 55.38 | 55.38 | 3.27 | 7.51 | -| HNSW-RaBitQ 1+4 | 1.57 | 112.62 | 114.18 | 0.48 | 1.05 | -| HNSW-RaBitQ 1+8 | 1.74 | 124.84 | 126.58 | 0.79 | 1.76 | +| SymphonyQG raw | 0.00 | 50.55 | 50.55 | 4.94 | 11.79 | +| SymphonyQG 4-bit | 0.00 | 50.14 | 50.14 | 2.72 | 6.80 | +| SymphonyQG 8-bit | 0.00 | 51.26 | 51.26 | 3.02 | 7.51 | +| HNSW-RaBitQ 1+4 | 1.56 | 115.03 | 116.60 | 0.49 | 1.05 | +| HNSW-RaBitQ 1+8 | 1.70 | 125.33 | 127.03 | 0.81 | 1.76 | | Faiss HNSW Flat | 0.00 | 147.53 | 147.53 | 2.69 | 5.85 | | Faiss HNSW SQ4 | 1.74 | 101.82 | 103.57 | 0.36 | 0.85 | | Faiss HNSW SQ8 | 1.79 | 80.66 | 82.45 | 0.64 | 1.56 | diff --git a/docs/docs/benchmarks/ivf.md b/docs/docs/benchmarks/ivf.md index 36e74d2f..1cff9b2e 100644 --- a/docs/docs/benchmarks/ivf.md +++ b/docs/docs/benchmarks/ivf.md @@ -1,7 +1,7 @@ # IVF-RaBitQ benchmark -RaBitQ-Library results were measured with **0.7.0 on 2026-10-13**. -Baseline results are retained from the historical measurements and were not rerun. +RaBitQ-Library results were measured with **0.7.1 on 2026-10-23 (Asia/Singapore)**. +Each baseline retains its latest measurement and was not rerun. See the [source revisions, environments and comparison limits](bench.md#package-installation). Settings and results for eight configurations. See the [overview](bench.md) for @@ -50,9 +50,9 @@ See [figure definitions](bench.md#reading-the-figures) and | Method | Train s | Construct s | Total s | Save s | Index GiB | | --- | ---: | ---: | ---: | ---: | ---: | -| IVF-RaBitQ raw | 15.09 | 0.67 | 15.76 | 1.52 | 3.73 | -| IVF-RaBitQ 1+4 | 15.68 | 1.83 | 17.51 | 0.25 | 0.60 | -| IVF-RaBitQ 1+8 | 15.61 | 7.01 | 22.61 | 0.45 | 1.05 | +| IVF-RaBitQ raw | 15.03 | 1.50 | 16.53 | 1.61 | 3.73 | +| IVF-RaBitQ 1+4 | 14.97 | 1.95 | 16.92 | 0.28 | 0.60 | +| IVF-RaBitQ 1+8 | 14.81 | 7.23 | 22.04 | 0.46 | 1.05 | | Faiss IVF RaBitQfs raw + RFlat | 41.61 | 6.76 | 48.37 | 1.58 | 3.73 | | Faiss IVF RaBitQfs 1+4 | 41.24 | 13.16 | 54.40 | 0.29 | 0.68 | | Faiss IVF RaBitQfs 1+8 | 41.38 | 39.82 | 81.20 | 0.52 | 1.19 | @@ -69,9 +69,9 @@ See [figure definitions](bench.md#reading-the-figures) and | Method | Train s | Construct s | Total s | Save s | Index GiB | | --- | ---: | ---: | ---: | ---: | ---: | -| IVF-RaBitQ raw | 24.73 | 1.08 | 25.80 | 2.46 | 5.95 | -| IVF-RaBitQ 1+4 | 24.61 | 3.01 | 27.63 | 0.39 | 0.95 | -| IVF-RaBitQ 1+8 | 24.44 | 12.32 | 36.76 | 0.68 | 1.67 | +| IVF-RaBitQ raw | 23.97 | 2.15 | 26.12 | 2.54 | 5.95 | +| IVF-RaBitQ 1+4 | 23.79 | 3.22 | 27.01 | 0.42 | 0.95 | +| IVF-RaBitQ 1+8 | 24.11 | 12.74 | 36.85 | 0.70 | 1.67 | | Faiss IVF RaBitQfs raw + RFlat | 85.29 | 12.97 | 98.26 | 2.71 | 6.02 | | Faiss IVF RaBitQfs 1+4 | 86.94 | 28.05 | 114.99 | 0.60 | 1.33 | | Faiss IVF RaBitQfs 1+8 | 119.86 | 91.11 | 210.97 | 1.00 | 2.34 | diff --git a/docs/docs/benchmarks/kmeans.md b/docs/docs/benchmarks/kmeans.md index 23bd9309..b0b40221 100644 --- a/docs/docs/benchmarks/kmeans.md +++ b/docs/docs/benchmarks/kmeans.md @@ -1,7 +1,7 @@ # K-means benchmark -RaBitQ-Library results were measured with **0.7.0 on 2026-10-13**. -Baseline results are retained from the historical measurements and were not rerun. +RaBitQ-Library results were measured with **0.7.1 on 2026-10-23 (Asia/Singapore)**. +Each baseline retains its latest measurement and was not rerun. See the [source revisions, environments and comparison limits](bench.md#package-installation). Compare **QGKMeans**, **Faiss K-means**, and **SuperKMeans** using their Python APIs. @@ -56,7 +56,7 @@ outside timing. | Method | Total time (s) | WCSS | Recall@10 (40 probes) | Iterations | | --- | ---: | ---: | ---: | ---: | -| QGKMeans | 15.68 | 1034787.87 | 0.819600 | 25 | +| QGKMeans | 14.88 | 1034709 | 0.815900 | 25 | | Faiss K-means | 84.17 | 1034624.88 | 0.815700 | 25 | | SuperKMeans | 28.14 | 1034648.39 | 0.820700 | 25 | @@ -66,7 +66,7 @@ outside timing. | Method | Total time (s) | WCSS | Recall@10 (40 probes) | Iterations | | --- | ---: | ---: | ---: | ---: | -| QGKMeans | 22.37 | 620378.132 | 0.893900 | 25 | +| QGKMeans | 22.35 | 620213.444 | 0.894400 | 25 | | Faiss K-means | 171.03 | 620737.534 | 0.894700 | 25 | | SuperKMeans | 35.23 | 620268.628 | 0.896800 | 24 | diff --git a/pyproject.toml b/pyproject.toml index 836c8ead..8fa98544 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build" [project] name = "rabitqlib" -version = "0.7.0" +version = "0.7.1" description = "RaBitQ Python bindings for indexes and clustering" readme = "README.md" requires-python = ">=3.11"