Here's a fair comparison of the query difference between the two hash functions. The only change here is the template argument that controls the function. I have a full database of each index type. Both are started cold and since the databases are distinct, don't benefit from cache. The djb2 one is still running, so partial. But you can get the idea. The plot is just time by height. Incidentally, database read is maxed out at the same level (125mb/sec) in both cases.