[#61424] [REJECT?] xmalloc/xfree: reduce atomic ops w/ thread-locals — Eric Wong <normalperson@...>

I'm unsure about this. I _hate_ the extra branches this adds;

13 messages 2014/03/12

[ruby-core:61638] Re: [ruby-trunk - Feature #9425] [PATCH] st: use power-of-two sizes to avoid slow modulo ops

From: Eric Wong <normalperson@...>
Date: 2014-03-22 23:41:24 UTC
List: ruby-core #61638
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

In This Thread

Prev Next