今週末はRubyのGVLいじりで潰してしまった。今こんな感じ


make benchmark COMPARE_RUBY="before::./ruby-193-0416" OPTS='-r 5'

name before newgvl
loop_whileloop 1.132 1.171
vm1_block* 3.794 3.504
vm1_const* 0.781 0.706
vm1_ensure* 1.005 0.972
vm1_ivar* 1.321 1.277
vm1_ivar_set* 1.561 1.611
vm1_length* 1.539 1.468
vm1_neq* 1.133 1.138
vm1_not* 0.634 0.645
vm1_rescue* 0.155 0.175
vm1_simplereturn* 2.859 2.594
vm1_swap* 1.123 0.991
vm2_array 2.146 2.227
vm2_case 0.600 0.568
vm2_eval 39.022 39.539
vm2_method 4.224 4.069
vm2_mutex 2.091 2.138
vm2_poly_method 5.890 5.422
vm2_poly_method_ov 0.748 0.753
vm2_proc 1.343 1.318
vm2_regexp 2.699 2.696
vm2_send 0.930 0.868
vm2_super 1.425 1.367
vm2_unif1 0.859 0.949
vm2_zsuper 1.526 1.537
vm3_gc 3.299 3.331
vm3_thread_create_join 5.358 5.382
vm3_thread_mutex 120.601 3.426

gvl_pipe 23.955 15.006
gvl_thread_pass 19.750 3.079


たぶん、あと二、三日安定化頑張れば人に見せられるレベルに行きそう