normalperson / yhbt.net wrote:
>  OK, I was right about compare_by_identity being worse with power-of-two,
>  but I fixed it by tweaking numhash:
>  
>  http://bogomips.org/ruby.git/patch?id=1579e9d0d82789

I tweaked that further, adding +3 instead of +1 to RUBY_SPECIAL_SHIFT
in r45384.  Also updated NEWS in case some extensions need tweaking for
performance.

Haswell Xeon E3-1230 v3 numbers:

hash_aref_miss  1.166
hash_aref_str   1.167
hash_aref_sym   1.224
hash_aref_sym_long      1.270
hash_flatten    1.656
hash_ident_num  1.142
hash_ident_obj  1.193
hash_ident_str  1.194
hash_ident_sym  1.171
hash_keys       1.002
hash_shift      1.122
hash_values     1.006
loop_whileloop2 1.001
vm2_bighash*    1.233