Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@authorNari
Created December 31, 2011 02:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save authorNari/1542547 to your computer and use it in GitHub Desktop.
Save authorNari/1542547 to your computer and use it in GitHub Desktop.
benchmark results:
minimum results in each 5 measurements.
name ruby 2.0.0dev (2011-11-18 trunk 33786) [i686-linux] ruby 2.0.0dev-bmap (2011-11-18 trunk 33786) [i686-linux] average difference
app_answer 0.136 0.133 -0.002
app_erb 2.393 2.466 0.075
app_factorial 4.231 4.155 -0.076
app_fib 1.386 1.262 -0.127
app_mandelbrot 3.841 3.598 -0.231
app_pentomino 33.577 34.844 1.216
app_raise 0.919 0.912 -0.003
app_strconcat 2.487 2.583 0.079
app_tak 2.075 1.761 -0.318
app_tarai 1.469 1.461 -0.010
app_uri 1.539 1.636 0.109
io_file_create 1.936 1.943 0.006
io_file_read 3.896 3.763 -0.131
io_file_write 1.570 1.569 -0.006
io_select 2.253 2.385 0.132
io_select2 2.825 2.890 0.069
io_select3 0.047 0.045 -0.002
loop_for 2.744 2.784 0.027
loop_generator 0.985 1.014 0.028
loop_times 2.445 2.439 0.022
loop_whileloop 1.632 2.196 0.638
loop_whileloop2 0.341 0.451 0.112
so_ackermann 1.931 1.908 -0.029
so_array 2.853 2.957 0.108
so_binary_trees 0.914 0.883 -0.031
so_concatenate 7.009 6.975 -0.063
so_count_words 0.397 0.386 -0.011
so_exception 1.751 1.770 0.023
so_fannkuch 2.966 2.853 -0.118
so_fasta 4.513 4.389 -0.143
so_k_nucleotide 2.951 2.967 0.015
so_lists 1.821 1.903 0.093
so_mandelbrot 10.282 10.805 0.509
so_matrix 1.792 1.766 -0.014
so_meteor_contest 10.335 11.861 1.572
so_nbody 7.573 7.755 0.178
so_nested_loop 2.221 2.185 -0.007
so_nsieve 5.513 5.451 -0.077
so_nsieve_bits 5.448 5.469 0.029
so_object 1.682 1.699 0.011
so_partial_sums 9.838 10.522 0.693
so_pidigits 2.462 2.409 -0.055
so_random 1.687 1.812 0.124
so_reverse_complement 2.478 2.724 0.250
so_sieve 2.019 2.091 0.082
so_spectralnorm 7.266 7.812 0.538
vm1_block* 2.643 2.818 0.727
vm1_const* 1.276 1.287 0.576
vm1_ensure* -0.351 -0.342 0.579
vm1_ivar* 1.560 1.558 0.553
vm1_ivar_set* 1.144 1.183 0.663
vm1_length* 1.918 1.531 0.177
vm1_neq* 0.543 0.419 0.493
vm1_not* 0.013 -0.038 0.490
vm1_rescue* -0.238 -0.309 0.493
vm1_simplereturn* 1.434 1.517 0.653
vm1_swap* 0.640 0.566 0.490
vm2_array* 1.036 1.076 0.139
vm2_case* 0.233 0.367 0.247
vm2_defined_method* 6.343 6.538 0.531
vm2_eval* 29.680 28.820 -0.781
vm2_method* 2.927 3.040 0.215
vm2_mutex* 1.982 1.939 0.058
vm2_poly_method* 4.365 4.345 0.109
vm2_poly_method_ov* 0.486 0.491 0.117
vm2_proc* 0.908 0.944 0.156
vm2_regexp* 2.209 2.299 0.199
vm2_send* 0.521 0.713 0.298
vm2_super* 1.070 1.183 0.218
vm2_unif1* 0.444 0.473 0.139
vm2_zsuper* 1.160 1.169 0.118
vm3_clearmethodcache 0.711 0.653 -0.058
vm3_gc 2.076 1.602 -0.495
vm_thread_alive_check1 25.628 25.615 0.026
vm_thread_create_join 4.532 4.484 -0.058
vm_thread_mutex1 1.914 1.843 -0.066
vm_thread_mutex2 1.961 1.949 -0.080
vm_thread_mutex3 2.557 2.545 -0.026
vm_thread_pass 0.456 0.227 -1.317
vm_thread_pass_flood 0.153 0.144 -0.010
vm_thread_pipe 0.621 0.623 -0.003
-----------------------------------------------------------
average total difference is 10.856133413314813
Benchmark Program is here: https://github.com/authorNari/skkzipcode
= Origin
$ ruby -v
ruby 2.0.0dev (2011-11-18 trunk 33786) [x86_64-linux]
PRCOESS_CNT : 5
SHARED_TOTAL: 59124 kb
PRIV_TOTAL : 224892 kb
= REE
$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
PROCESS_CNT : 5
SHARED_TOTAL: 207720 kb
PRIV_TOTAL : 164572 kb
= Ruby 2.0.0dev BitmapMarking
$ ruby -v
ruby 2.0.0dev (2011-11-18 trunk 33786) [x86_64-linux]
PRCOESS_CNT : 5
SHARED_TOTAL: 170744 kb
PRIV_TOTAL : 138336 kb
@rkh
Copy link

rkh commented Jan 4, 2012

So, in general, it's slower?

@authorNari
Copy link
Author

Yes. Bitmap Marking GC doesn't improve speed. But, it improves memory usages in fork() programs.

@rkh
Copy link

rkh commented Jan 4, 2012

Yes, I'm aware of that. If this is merged, will there be a flag or compile option to switch between the two?

@authorNari
Copy link
Author

No. My plan is that Bitmap Marking GC will be default GC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment