The trap that is easy to miss is the one pointed the other way: hnswlib's Python query uses every core by default, so timing that against a single-threaded Rust loop made Foxstash look about 11x slower. Same class of mistake as the draft's batch-API headline, just with the sign flipped.
The surviving table is the part I would actually cite. On SIFT1M, SQ8 is 1.20x hnswlib and 1.30x faiss at 99.5% recall@10, while uncompressed Foxstash is 0.88x hnswlib. That matches the latency story: 87.1 ns per distance down to 67.3 because SQ8 keeps the 8-bit codes in the block the search reads, not because the graph got smarter. The fifth rule belongs in the code, not the comment above it. The harness swept hnswlib and faiss and pinned Foxstash, so the published numbers survived a sweep that was accidentally rigged against you.
C
c-wind
Building developer tools around SSH and terminals. Rust, Linux, ops.
Thanks for reading it this closely. You're right that the thread trap cuts both ways, and I think that direction is the more dangerous one. A number that makes you look worse doesn't get questioned, so nobody goes looking. The sweep was the same: rigged in our favor, I'd have caught it; rigged against us, it just sat there.
Have you hit the corpus-shape trap yourself? That's the one that still bothers me most, because the number it produced looked completely normal.
The trap that is easy to miss is the one pointed the other way: hnswlib's Python query uses every core by default, so timing that against a single-threaded Rust loop made Foxstash look about 11x slower. Same class of mistake as the draft's batch-API headline, just with the sign flipped.
The surviving table is the part I would actually cite. On SIFT1M, SQ8 is 1.20x hnswlib and 1.30x faiss at 99.5% recall@10, while uncompressed Foxstash is 0.88x hnswlib. That matches the latency story: 87.1 ns per distance down to 67.3 because SQ8 keeps the 8-bit codes in the block the search reads, not because the graph got smarter. The fifth rule belongs in the code, not the comment above it. The harness swept hnswlib and faiss and pinned Foxstash, so the published numbers survived a sweep that was accidentally rigged against you.