Hacker News new | ask | show | jobs
by binarymax 1136 days ago
Hey there - interesting solution!

A note on benchmarks with HNSW is that you need to optimize your ‘m’ and ‘ef_construction’ params at index time and your ef_search param at query time.

So you may not be getting an optimized result from DBs like Qdrant and weaviate.

2 comments

That's true and we have tried different configurations for systems that use HNSW. But for the ease of presentation, we only choose the configuration with the highest throughput at precision 98%.

Here is a figure in our open-source benchmark framework repo that shows other configurations that we have tested: https://github.com/myscale/vector-db-benchmark/blob/master/i...

we actually tuned `m` (e.g. 32), `ef_construct` and `ef_search` (e.g. 128-256) to be fairly large values for best performance, but not able to obtain better results. Overall HNSW consumes a lot of resources, so it's not as cost effective.