Just to throw back another discussion based on this topic, has anyone considered changing the hash algorithm about string keys (real hashes) ?
I gave MurmurHash2 a try, it was twice faster than DJB33 in my benchs (64bits platform and 64bits MurmurHash2 variant). 128bits MurmurHash3 however was a little bit slower than DJB33. I did not analyze collision risks though, but a valgrind/calgrind bench on many scenarios showed a better response time and a better zend_hash_func() response time with MurmurHash2. Julien.P On Tue, Jun 16, 2015 at 3:28 AM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote: > Hi Dmitry, > > On Mon, Jun 15, 2015 at 6:06 PM, Dmitry Stogov <dmi...@zend.com> wrote: > > > I see only the test for "packed" array. You may create similar "hash" > > array, initializing it in reverse order. > > > > It's better approach to see the difference because the array content is > basically the same. > > > > > > In my experiments "packed" arrays are slightly (8%) faster. > > > > $ sapi/cli/php packed.php > > Time: 0.022471189498901 > > Time: 0.012310028076172 > > > > $ sapi/cli/php hash.php > > Time: 0.024425029754639 > > Time: 0.012874126434326 > > > It's faster on my PC, too. > 8% is good enough to have. > I'm surprised that PHP's hash is super fast :) > > Regards, > > -- > Yasuo Ohgaki > yohg...@ohgaki.net >