The retrieval side of RAG gets less attention than rerankers, but the HNSW inner loop is where a surprising amount of latency hides — and it’s memory-bound, not compute-bound. The Manticore writeup is a clean tour of squeezing the same index harder without touching recall.

The core observation: textbook HNSW walks neighbors one at a time — visit, fetch the vector, compute distance, update the candidate set — so the CPU stalls on memory it can’t prefetch in time. The fixes are all about feeding the cache and the SIMD units, not changing the graph.

That high-k detail is the part worth internalizing for RAG. You usually want a wider candidate set before reranking for recall’s sake, and high k is exactly where distance computation dominates and these gains show up. The HN discussion has the usual “why not just use a GPU index” replies — but most production hybrid-search stacks are still CPU-bound on exactly this loop.

When was the last time you profiled your ANN search as a memory-access problem rather than reaching for a bigger box?