Clean-room Zig reimplementation reproduces published IVFPQ memory-compression numbers #5244
SMC17
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi FAISS maintainers + community,
Posting a complementary-reproduction note. I've been building a Zig 0.16 reimplementation of the four FAISS index families that matter most for general use — Flat, HNSW, IVFFlat, IVFPQ — without consulting your C++ source (paper-only implementation).
Repo: SMC17/faiss-zig (AGPL-3.0)
At the default canonical config (nlist=100, nprobe=10, M=8, D=128), our IVFPQ measures:
These numbers track your published documentation — posting in case the reproduction signal is useful, and because community contributors implementing FAISS-equivalent libraries in non-C++ languages benefit from the data point.
Throughput at default config: 522 μs/q, 1,915 q/s, 3.43x vs our own FlatIndex baseline at this N.
Honest caveats:
Not a competing implementation — explicitly a Zig-side substrate for projects that need an in-process vector store without the Python boundary. Our README cites FAISS as the canonical reference.
Thanks for the canonical work.
Beta Was this translation helpful? Give feedback.
All reactions