Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
gc/ | H | 24-Nov-2021 | - | 497 | 403 | |
lib/ | H | 24-Nov-2021 | - | 448 | 315 | |
other-lang/ | H | 24-Nov-2021 | - | 273 | 207 | |
README.md | H A D | 24-Nov-2021 | 2.8 KiB | 73 | 53 | |
app_answer.rb | H A D | 24-Nov-2021 | 310 | 16 | 13 | |
app_aobench.rb | H A D | 24-Nov-2021 | 6.1 KiB | 292 | 235 | |
app_erb.yml | H A D | 24-Nov-2021 | 368 | 24 | 21 | |
app_factorial.rb | H A D | 24-Nov-2021 | 93 | 12 | 10 | |
app_fib.rb | H A D | 24-Nov-2021 | 78 | 11 | 8 | |
app_lc_fizzbuzz.rb | H A D | 24-Nov-2021 | 15.5 KiB | 53 | 31 | |
app_mandelbrot.rb | H A D | 24-Nov-2021 | 280 | 24 | 19 | |
app_pentomino.rb | H A D | 24-Nov-2021 | 2 KiB | 131 | 116 | |
app_raise.rb | H A D | 24-Nov-2021 | 67 | 9 | 8 | |
app_strconcat.rb | H A D | 24-Nov-2021 | 62 | 6 | 5 | |
app_tak.rb | H A D | 24-Nov-2021 | 146 | 14 | 10 | |
app_tarai.rb | H A D | 24-Nov-2021 | 162 | 11 | 9 | |
app_uri.rb | H A D | 24-Nov-2021 | 113 | 9 | 7 | |
array_sample_100k_10.rb | H A D | 24-Nov-2021 | 49 | 3 | 2 | |
array_sample_100k_11.rb | H A D | 24-Nov-2021 | 49 | 3 | 2 | |
array_sample_100k__100.rb | H A D | 24-Nov-2021 | 50 | 3 | 2 | |
array_sample_100k__1k.rb | H A D | 24-Nov-2021 | 51 | 3 | 2 | |
array_sample_100k__6k.rb | H A D | 24-Nov-2021 | 51 | 3 | 2 | |
array_sample_100k___10k.rb | H A D | 24-Nov-2021 | 53 | 3 | 2 | |
array_sample_100k___50k.rb | H A D | 24-Nov-2021 | 53 | 3 | 2 | |
array_shift.rb | H A D | 24-Nov-2021 | 298 | 15 | 13 | |
array_small_and.rb | H A D | 24-Nov-2021 | 442 | 18 | 15 | |
array_small_diff.rb | H A D | 24-Nov-2021 | 442 | 18 | 15 | |
array_small_or.rb | H A D | 24-Nov-2021 | 442 | 18 | 15 | |
array_sort_block.rb | H A D | 24-Nov-2021 | 81 | 3 | 2 | |
array_sort_float.rb | H A D | 24-Nov-2021 | 56 | 3 | 2 | |
array_values_at_int.rb | H A D | 24-Nov-2021 | 67 | 3 | 2 | |
array_values_at_range.rb | H A D | 24-Nov-2021 | 71 | 3 | 2 | |
bighash.rb | H A D | 24-Nov-2021 | 38 | 2 | 1 | |
dir_empty_p.rb | H A D | 24-Nov-2021 | 107 | 6 | 5 | |
enum_lazy_grep_v_100.rb | H A D | 24-Nov-2021 | 129 | 5 | 4 | |
enum_lazy_grep_v_20.rb | H A D | 24-Nov-2021 | 127 | 5 | 4 | |
enum_lazy_grep_v_50.rb | H A D | 24-Nov-2021 | 127 | 5 | 4 | |
enum_lazy_uniq_100.rb | H A D | 24-Nov-2021 | 124 | 5 | 4 | |
enum_lazy_uniq_20.rb | H A D | 24-Nov-2021 | 122 | 5 | 4 | |
enum_lazy_uniq_50.rb | H A D | 24-Nov-2021 | 122 | 5 | 4 | |
erb_render.yml | H A D | 24-Nov-2021 | 452 | 25 | 21 | |
fiber_chain.rb | H A D | 24-Nov-2021 | 651 | 41 | 30 | |
file_chmod.rb | H A D | 24-Nov-2021 | 143 | 10 | 8 | |
file_rename.rb | H A D | 24-Nov-2021 | 271 | 12 | 9 | |
hash_aref_dsym.rb | H A D | 24-Nov-2021 | 114 | 5 | 4 | |
hash_aref_dsym_long.rb | H A D | 24-Nov-2021 | 474 | 22 | 14 | |
hash_aref_fix.rb | H A D | 24-Nov-2021 | 95 | 5 | 4 | |
hash_aref_flo.rb | H A D | 24-Nov-2021 | 111 | 5 | 4 | |
hash_aref_miss.rb | H A D | 24-Nov-2021 | 136 | 6 | 5 | |
hash_aref_str.rb | H A D | 24-Nov-2021 | 113 | 5 | 4 | |
hash_aref_sym.rb | H A D | 24-Nov-2021 | 199 | 10 | 9 | |
hash_aref_sym_long.rb | H A D | 24-Nov-2021 | 428 | 14 | 13 | |
hash_flatten.rb | H A D | 24-Nov-2021 | 75 | 10 | 7 | |
hash_ident_flo.rb | H A D | 24-Nov-2021 | 126 | 5 | 4 | |
hash_ident_num.rb | H A D | 24-Nov-2021 | 115 | 5 | 4 | |
hash_ident_obj.rb | H A D | 24-Nov-2021 | 130 | 5 | 4 | |
hash_ident_str.rb | H A D | 24-Nov-2021 | 118 | 5 | 4 | |
hash_ident_sym.rb | H A D | 24-Nov-2021 | 132 | 5 | 4 | |
hash_keys.rb | H A D | 24-Nov-2021 | 72 | 10 | 7 | |
hash_literal_small2.rb | H A D | 24-Nov-2021 | 91 | 4 | 1 | |
hash_literal_small4.rb | H A D | 24-Nov-2021 | 123 | 4 | 1 | |
hash_literal_small8.rb | H A D | 24-Nov-2021 | 193 | 4 | 1 | |
hash_long.rb | H A D | 24-Nov-2021 | 297 | 5 | 4 | |
hash_shift.rb | H A D | 24-Nov-2021 | 92 | 11 | 8 | |
hash_shift_u16.rb | H A D | 24-Nov-2021 | 101 | 11 | 8 | |
hash_shift_u24.rb | H A D | 24-Nov-2021 | 107 | 11 | 8 | |
hash_shift_u32.rb | H A D | 24-Nov-2021 | 111 | 11 | 8 | |
hash_small2.rb | H A D | 24-Nov-2021 | 52 | 2 | 1 | |
hash_small4.rb | H A D | 24-Nov-2021 | 52 | 2 | 1 | |
hash_small8.rb | H A D | 24-Nov-2021 | 52 | 2 | 1 | |
hash_to_proc.rb | H A D | 24-Nov-2021 | 81 | 10 | 7 | |
hash_values.rb | H A D | 24-Nov-2021 | 74 | 10 | 7 | |
int_quo.rb | H A D | 24-Nov-2021 | 28 | 2 | 1 | |
io_copy_stream_write.rb | H A D | 24-Nov-2021 | 570 | 25 | 16 | |
io_copy_stream_write_socket.rb | H A D | 24-Nov-2021 | 809 | 36 | 28 | |
io_file_create.rb | H A D | 24-Nov-2021 | 146 | 14 | 7 | |
io_file_read.rb | H A D | 24-Nov-2021 | 172 | 16 | 9 | |
io_file_write.rb | H A D | 24-Nov-2021 | 166 | 15 | 8 | |
io_nonblock_noex.rb | H A D | 24-Nov-2021 | 341 | 23 | 22 | |
io_nonblock_noex2.rb | H A D | 24-Nov-2021 | 337 | 22 | 21 | |
io_pipe_rw.rb | H A D | 24-Nov-2021 | 279 | 14 | 11 | |
io_select.rb | H A D | 24-Nov-2021 | 92 | 10 | 5 | |
io_select2.rb | H A D | 24-Nov-2021 | 394 | 23 | 16 | |
io_select3.rb | H A D | 24-Nov-2021 | 334 | 22 | 16 | |
loop_for.rb | H A D | 24-Nov-2021 | 31 | 4 | 2 | |
loop_generator.rb | H A D | 24-Nov-2021 | 183 | 15 | 13 | |
loop_times.rb | H A D | 24-Nov-2021 | 22 | 2 | 1 | |
loop_whileloop.rb | H A D | 24-Nov-2021 | 57 | 5 | 4 | |
loop_whileloop2.rb | H A D | 24-Nov-2021 | 57 | 5 | 4 | |
marshal_dump_flo.rb | H A D | 24-Nov-2021 | 79 | 3 | 2 | |
marshal_dump_load_geniv.rb | H A D | 24-Nov-2021 | 173 | 11 | 9 | |
marshal_dump_load_time.rb | H A D | 24-Nov-2021 | 54 | 2 | 1 | |
require.yml | H A D | 24-Nov-2021 | 643 | 37 | 28 | |
require_thread.yml | H A D | 24-Nov-2021 | 754 | 45 | 35 | |
securerandom.rb | H A D | 24-Nov-2021 | 79 | 6 | 4 | |
so_ackermann.rb | H A D | 24-Nov-2021 | 315 | 20 | 11 | |
so_array.rb | H A D | 24-Nov-2021 | 409 | 24 | 11 | |
so_binary_trees.rb | H A D | 24-Nov-2021 | 1.3 KiB | 63 | 41 | |
so_concatenate.rb | H A D | 24-Nov-2021 | 337 | 19 | 9 | |
so_count_words.yml | H A D | 24-Nov-2021 | 6.9 KiB | 67 | 56 | |
so_exception.rb | H A D | 24-Nov-2021 | 874 | 62 | 47 | |
so_fannkuch.rb | H A D | 24-Nov-2021 | 928 | 46 | 34 | |
so_fasta.rb | H A D | 24-Nov-2021 | 1.8 KiB | 82 | 68 | |
so_k_nucleotide.yml | H A D | 24-Nov-2021 | 3.9 KiB | 156 | 133 | |
so_lists.rb | H A D | 24-Nov-2021 | 1,001 | 48 | 30 | |
so_mandelbrot.rb | H A D | 24-Nov-2021 | 1.4 KiB | 58 | 37 | |
so_matrix.rb | H A D | 24-Nov-2021 | 1,010 | 49 | 36 | |
so_meteor_contest.rb | H A D | 24-Nov-2021 | 20.8 KiB | 564 | 338 | |
so_nbody.rb | H A D | 24-Nov-2021 | 2.9 KiB | 149 | 113 | |
so_nested_loop.rb | H A D | 24-Nov-2021 | 457 | 25 | 15 | |
so_nsieve.rb | H A D | 24-Nov-2021 | 679 | 36 | 26 | |
so_nsieve_bits.rb | H A D | 24-Nov-2021 | 841 | 44 | 30 | |
so_object.rb | H A D | 24-Nov-2021 | 992 | 57 | 42 | |
so_partial_sums.rb | H A D | 24-Nov-2021 | 774 | 32 | 26 | |
so_pidigits.rb | H A D | 24-Nov-2021 | 1.6 KiB | 93 | 69 | |
so_random.rb | H A D | 24-Nov-2021 | 289 | 21 | 13 | |
so_reverse_complement.yml | H A D | 24-Nov-2021 | 3.4 KiB | 138 | 121 | |
so_sieve.rb | H A D | 24-Nov-2021 | 399 | 25 | 22 | |
so_spectralnorm.rb | H A D | 24-Nov-2021 | 870 | 51 | 39 | |
string_index.rb | H A D | 24-Nov-2021 | 106 | 4 | 3 | |
string_scan_re.rb | H A D | 24-Nov-2021 | 72 | 3 | 2 | |
string_scan_str.rb | H A D | 24-Nov-2021 | 72 | 3 | 2 | |
time_subsec.rb | H A D | 24-Nov-2021 | 40 | 3 | 2 | |
vm1_attr_ivar.yml | H A D | 24-Nov-2021 | 200 | 15 | 14 | |
vm1_attr_ivar_set.yml | H A D | 24-Nov-2021 | 206 | 15 | 14 | |
vm1_block.yml | H A D | 24-Nov-2021 | 95 | 10 | 9 | |
vm1_blockparam.yml | H A D | 24-Nov-2021 | 88 | 8 | 7 | |
vm1_blockparam_call.yml | H A D | 24-Nov-2021 | 104 | 9 | 8 | |
vm1_blockparam_pass.yml | H A D | 24-Nov-2021 | 153 | 13 | 11 | |
vm1_blockparam_yield.yml | H A D | 24-Nov-2021 | 118 | 9 | 8 | |
vm1_const.yml | H A D | 24-Nov-2021 | 98 | 8 | 7 | |
vm1_ensure.yml | H A D | 24-Nov-2021 | 246 | 15 | 14 | |
vm1_float_simple.yml | H A D | 24-Nov-2021 | 144 | 9 | 8 | |
vm1_gc_short_lived.yml | H A D | 24-Nov-2021 | 143 | 10 | 9 | |
vm1_gc_short_with_complex_long.yml | H A D | 24-Nov-2021 | 379 | 26 | 23 | |
vm1_gc_short_with_long.yml | H A D | 24-Nov-2021 | 228 | 14 | 13 | |
vm1_gc_short_with_symbol.yml | H A D | 24-Nov-2021 | 225 | 14 | 13 | |
vm1_gc_wb_ary.yml | H A D | 24-Nov-2021 | 270 | 13 | 10 | |
vm1_gc_wb_ary_promoted.yml | H A D | 24-Nov-2021 | 301 | 16 | 12 | |
vm1_gc_wb_obj.yml | H A D | 24-Nov-2021 | 313 | 16 | 13 | |
vm1_gc_wb_obj_promoted.yml | H A D | 24-Nov-2021 | 344 | 18 | 15 | |
vm1_ivar.yml | H A D | 24-Nov-2021 | 88 | 7 | 6 | |
vm1_ivar_set.yml | H A D | 24-Nov-2021 | 72 | 6 | 5 | |
vm1_length.yml | H A D | 24-Nov-2021 | 113 | 9 | 8 | |
vm1_lvar_init.yml | H A D | 24-Nov-2021 | 582 | 22 | 19 | |
vm1_lvar_set.yml | H A D | 24-Nov-2021 | 124 | 5 | 4 | |
vm1_neq.yml | H A D | 24-Nov-2021 | 113 | 8 | 7 | |
vm1_not.yml | H A D | 24-Nov-2021 | 84 | 7 | 6 | |
vm1_rescue.yml | H A D | 24-Nov-2021 | 77 | 7 | 6 | |
vm1_simplereturn.yml | H A D | 24-Nov-2021 | 92 | 8 | 7 | |
vm1_swap.yml | H A D | 24-Nov-2021 | 89 | 8 | 7 | |
vm1_yield.yml | H A D | 24-Nov-2021 | 217 | 14 | 12 | |
vm2_array.yml | H A D | 24-Nov-2021 | 77 | 5 | 4 | |
vm2_bigarray.yml | H A D | 24-Nov-2021 | 2.8 KiB | 106 | 105 | |
vm2_bighash.yml | H A D | 24-Nov-2021 | 4.7 KiB | 5 | 4 | |
vm2_case.yml | H A D | 24-Nov-2021 | 172 | 14 | 13 | |
vm2_case_lit.yml | H A D | 24-Nov-2021 | 533 | 24 | 22 | |
vm2_defined_method.yml | H A D | 24-Nov-2021 | 139 | 9 | 8 | |
vm2_dstr.yml | H A D | 24-Nov-2021 | 100 | 7 | 6 | |
vm2_eval.yml | H A D | 24-Nov-2021 | 59 | 5 | 4 | |
vm2_fiber_switch.yml | H A D | 24-Nov-2021 | 208 | 10 | 9 | |
vm2_freezestring.yml | H A D | 24-Nov-2021 | 198 | 11 | 10 | |
vm2_method.yml | H A D | 24-Nov-2021 | 108 | 9 | 8 | |
vm2_method_missing.yml | H A D | 24-Nov-2021 | 192 | 12 | 10 | |
vm2_method_with_block.yml | H A D | 24-Nov-2021 | 135 | 9 | 8 | |
vm2_module_ann_const_set.yml | H A D | 24-Nov-2021 | 102 | 5 | 4 | |
vm2_module_const_set.yml | H A D | 24-Nov-2021 | 134 | 9 | 8 | |
vm2_mutex.yml | H A D | 24-Nov-2021 | 121 | 9 | 7 | |
vm2_newlambda.yml | H A D | 24-Nov-2021 | 64 | 5 | 4 | |
vm2_poly_method.yml | H A D | 24-Nov-2021 | 382 | 25 | 22 | |
vm2_poly_method_ov.yml | H A D | 24-Nov-2021 | 386 | 25 | 22 | |
vm2_poly_singleton.yml | H A D | 24-Nov-2021 | 362 | 19 | 16 | |
vm2_proc.yml | H A D | 24-Nov-2021 | 116 | 13 | 11 | |
vm2_raise1.yml | H A D | 24-Nov-2021 | 188 | 17 | 16 | |
vm2_raise2.yml | H A D | 24-Nov-2021 | 189 | 17 | 16 | |
vm2_regexp.yml | H A D | 24-Nov-2021 | 97 | 7 | 6 | |
vm2_send.yml | H A D | 24-Nov-2021 | 121 | 12 | 10 | |
vm2_string_literal.yml | H A D | 24-Nov-2021 | 129 | 5 | 4 | |
vm2_struct_big_aref_hi.yml | H A D | 24-Nov-2021 | 149 | 8 | 7 | |
vm2_struct_big_aref_lo.yml | H A D | 24-Nov-2021 | 149 | 8 | 7 | |
vm2_struct_big_aset.yml | H A D | 24-Nov-2021 | 261 | 12 | 11 | |
vm2_struct_big_href_hi.yml | H A D | 24-Nov-2021 | 143 | 8 | 7 | |
vm2_struct_big_href_lo.yml | H A D | 24-Nov-2021 | 143 | 8 | 7 | |
vm2_struct_big_hset.yml | H A D | 24-Nov-2021 | 251 | 12 | 11 | |
vm2_struct_small_aref.yml | H A D | 24-Nov-2021 | 118 | 8 | 7 | |
vm2_struct_small_aset.yml | H A D | 24-Nov-2021 | 229 | 12 | 11 | |
vm2_struct_small_href.yml | H A D | 24-Nov-2021 | 120 | 8 | 7 | |
vm2_struct_small_hset.yml | H A D | 24-Nov-2021 | 124 | 8 | 7 | |
vm2_super.yml | H A D | 24-Nov-2021 | 173 | 18 | 15 | |
vm2_unif1.yml | H A D | 24-Nov-2021 | 91 | 8 | 7 | |
vm2_zsuper.yml | H A D | 24-Nov-2021 | 185 | 19 | 16 | |
vm3_backtrace.rb | H A D | 24-Nov-2021 | 252 | 23 | 18 | |
vm3_clearmethodcache.rb | H A D | 24-Nov-2021 | 68 | 9 | 7 | |
vm3_gc.rb | H A D | 24-Nov-2021 | 71 | 7 | 6 | |
vm3_gc_old_full.rb | H A D | 24-Nov-2021 | 66 | 5 | 4 | |
vm3_gc_old_immediate.rb | H A D | 24-Nov-2021 | 110 | 5 | 4 | |
vm3_gc_old_lazy.rb | H A D | 24-Nov-2021 | 111 | 5 | 4 | |
vm_symbol_block_pass.rb | H A D | 24-Nov-2021 | 156 | 14 | 12 | |
vm_thread_alive_check1.rb | H A D | 24-Nov-2021 | 73 | 7 | 6 | |
vm_thread_close.rb | H A D | 24-Nov-2021 | 114 | 7 | 6 | |
vm_thread_condvar1.rb | H A D | 24-Nov-2021 | 476 | 29 | 27 | |
vm_thread_condvar2.rb | H A D | 24-Nov-2021 | 713 | 36 | 34 | |
vm_thread_create_join.rb | H A D | 24-Nov-2021 | 77 | 7 | 6 | |
vm_thread_mutex1.rb | H A D | 24-Nov-2021 | 289 | 22 | 19 | |
vm_thread_mutex2.rb | H A D | 24-Nov-2021 | 278 | 22 | 19 | |
vm_thread_mutex3.rb | H A D | 24-Nov-2021 | 259 | 21 | 18 | |
vm_thread_pass.rb | H A D | 24-Nov-2021 | 220 | 16 | 9 | |
vm_thread_pass_flood.rb | H A D | 24-Nov-2021 | 144 | 11 | 7 | |
vm_thread_pipe.rb | H A D | 24-Nov-2021 | 267 | 18 | 13 | |
vm_thread_queue.rb | H A D | 24-Nov-2021 | 200 | 19 | 14 | |
vm_thread_sized_queue.rb | H A D | 24-Nov-2021 | 254 | 21 | 15 | |
vm_thread_sized_queue2.rb | H A D | 24-Nov-2021 | 336 | 24 | 19 | |
vm_thread_sized_queue3.rb | H A D | 24-Nov-2021 | 323 | 23 | 19 | |
vm_thread_sized_queue4.rb | H A D | 24-Nov-2021 | 387 | 27 | 22 |
README.md
1# ruby/benchmark 2 3This directory has benchmark definitions to be run with 4[benchmark\_driver.gem](https://github.com/benchmark-driver/benchmark-driver). 5 6## Normal usage 7 8Execute `gem install benchmark_driver` and run a command like: 9 10```bash 11# Run a benchmark script with the ruby in the $PATH 12benchmark-driver benchmark/app_fib.rb 13 14# Run benchmark scripts with multiple Ruby executables or options 15benchmark-driver benchmark/*.rb -e /path/to/ruby -e '/path/to/ruby --jit' 16 17# Or compare Ruby versions managed by rbenv 18benchmark-driver benchmark/*.rb --rbenv '2.5.1;2.6.0-preview2 --jit' 19 20# You can collect many metrics in many ways 21benchmark-driver benchmark/*.rb --runner memory --output markdown 22 23# Some are defined with YAML for complex setup or accurate measurement 24benchmark-driver benchmark/*.yml 25``` 26 27See also: 28 29```console 30Usage: benchmark-driver [options] RUBY|YAML... 31 -r, --runner TYPE Specify runner type: ips, time, memory, once (default: ips) 32 -o, --output TYPE Specify output type: compare, simple, markdown, record (default: compare) 33 -e, --executables EXECS Ruby executables (e1::path1 arg1; e2::path2 arg2;...) 34 --rbenv VERSIONS Ruby executables in rbenv (x.x.x arg1;y.y.y arg2;...) 35 --repeat-count NUM Try benchmark NUM times and use the fastest result or the worst memory usage 36 --repeat-result TYPE Yield "best", "average" or "worst" result with --repeat-count (default: best) 37 --bundler Install and use gems specified in Gemfile 38 --filter REGEXP Filter out benchmarks with given regexp 39 --run-duration SECONDS Warmup estimates loop_count to run for this duration (default: 3) 40 -v, --verbose Verbose mode. Multiple -v options increase visilibity (max: 2) 41``` 42 43## make benchmark 44 45Using `make benchmark`, `make update-benchmark-driver` automatically downloads 46the supported version of benchmark\_driver, and it runs benchmarks with the downloaded 47benchmark\_driver. 48 49```bash 50# Run all benchmarks with the ruby in the $PATH and the built ruby 51make benchmark 52 53# Or compare with specific ruby binary 54make benchmark COMPARE_RUBY="/path/to/ruby --jit" 55 56# Run vm1 benchmarks 57make benchmark ITEM=vm1 58 59# Run some limited benchmarks in ITEM-matched files 60make benchmark ITEM=vm1 OPTS=--filter=block 61 62# You can specify the benchmark by an exact filename instead of using the default argument: 63# ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb') 64make benchmark ARGS=../benchmark/erb_render.yml 65 66# You can specify any option via $OPTS 67make benchmark OPTS="--help" 68 69# With `make benchmark`, some special runner plugins are available: 70# -r peak, -r size, -r total, -r utime, -r stime, -r cutime, -r cstime 71make benchmark ITEM=vm2_bigarray OPTS="-r peak" 72``` 73