make benchmark OPTS="-r 5"をやってみた

authorNariさん試してくださってありがとうございます。

お祭も無事終わり(お世話になった人たちに非常に感謝しています。ここを読んでいる人はいないと思うけど・・・)、make benchmark OPTS="-r 5"で試してみました。
コアを吐く不具合は、次の1行を加えることで直りました。

static int
garbage_collect(rb_objspace_t *objspace)
{
    struct gc_list *list;
    rb_thread_t *th = GET_THREAD();
    INIT_GC_PROF_PARAMS;
    heap_cache = NULL;  /* 追加 */

make benchmarkは2つのバージョンの処理系で実行すると、なぜか後から実行したものが遅くなるので、改良前・改良後の順番を代えて試してみました。1.9.0mcと出ているほうが改良版です。

先に改良前。

benchmark results:
minimum results in each 5 measurements.
name	ruby 1.9.0 (2008-07-21 revision 15675) [i386-cygwin]	ruby 1.9.0mc (2008-07-21 revision 15675) [i386-cygwin]
app_answer	  0.227                                        	0.890
app_erb	          4.887	                                        5.800
app_factorial	  1.158	                                        1.816
app_fib	          2.077	                                        2.575
app_mandelbrot    0.781	                                        1.468
app_pentomino	 86.971	                                       82.398
app_raise	  2.715	                                        3.080
app_strconcat	  1.290	                                        1.953
app_tak	          3.148	                                        4.156
app_tarai	  2.455	                                        3.409
app_uri	          4.401	                                        5.183
io_file_create	 22.051	                                       22.486

先に改良後

benchmark results:
minimum results in each 5 measurements.
name	ruby 1.9.0mc (2008-07-21 revision 15675) [i386-cygwin]	ruby 1.9.0 (2008-07-21 revision 15675) [i386-cygwin]
app_answer	   0.223                                 	0.913
app_erb	           4.949	                                5.721
app_factorial      1.161	                                1.846
app_fib	           1.921	                                2.784
app_mandelbrot	   0.807	                                1.468
app_pentomino	  81.293	                               87.693
app_raise	   2.420	                                3.764
app_strconcat	   1.318	                                2.354
app_tak	           3.492	                                5.011
app_tarai	   2.798	                                4.419
app_uri	           4.598	                                5.104
io_file_create	  21.113	                               22.225

authorNariさんの言うとおりあまり効果は無いですね。前は測り方が悪かったみたいです。
ただ、app_pentominoだけははっきり効果があるといってもいいんじゃないかなと思います。ある程度長く実行して、GCがガンガン動くと差が出てくるのかなー、もうちょっと追ってみます。