1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/benchmark
k0kubun 8068d34cfe Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"
This reverts r63900.

Having single-execution benchmark as a normal Ruby script is preferred
by ko1. I'm not a big fan of having inconsistent benchmark formats, but
I can understand some benefits of it.

common.mk: remove obsolsted benchmark-each PHONY declaration, support
running Ruby scripts added by this commit.

README.md: follow ARGS change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 13:05:29 +00:00
..
gc
lib/benchmark_driver/runner
other-lang
bm_app_answer.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_aobench.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_erb.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_factorial.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_fib.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_lc_fizzbuzz.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_mandelbrot.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_pentomino.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_raise.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_strconcat.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_tak.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_tarai.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_app_uri.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k_10.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k_11.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k__1k.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k__6k.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k__100.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k___10k.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sample_100k___50k.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_shift.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_small_and.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_small_diff.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_small_or.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sort_block.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_sort_float.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_values_at_int.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_array_values_at_range.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_bighash.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_dir_empty_p.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_erb_render.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_file_chmod.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_file_rename.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_dsym.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_dsym_long.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_fix.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_flo.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_miss.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_str.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_sym.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_aref_sym_long.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_flatten.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_ident_flo.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_ident_num.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_ident_obj.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_ident_str.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_ident_sym.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_keys.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_long.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_shift.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_shift_u16.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_shift_u24.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_shift_u32.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_small2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_small4.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_small8.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_to_proc.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_hash_values.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_int_quo.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_copy_stream_write.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_copy_stream_write_socket.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_file_create.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_file_read.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_file_write.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_nonblock_noex.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_nonblock_noex2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_pipe_rw.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_select.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_select2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_io_select3.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_loop_for.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_loop_generator.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_loop_times.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_loop_whileloop.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_loop_whileloop2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_marshal_dump_flo.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_marshal_dump_load_geniv.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_marshal_dump_load_time.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_securerandom.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_ackermann.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_array.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_binary_trees.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_concatenate.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_exception.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_fannkuch.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_fasta.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_lists.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_mandelbrot.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_matrix.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_meteor_contest.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_nbody.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_nested_loop.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_nsieve.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_nsieve_bits.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_object.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_partial_sums.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_pidigits.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_random.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_sieve.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_so_spectralnorm.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_string_index.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_string_scan_re.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_string_scan_str.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_time_subsec.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_backtrace.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_clearmethodcache.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_gc.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_gc_old_full.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_gc_old_immediate.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm3_gc_old_lazy.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_symbol_block_pass.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_alive_check1.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_close.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_condvar1.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_condvar2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_create_join.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_mutex1.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_mutex2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_mutex3.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_pass.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_pass_flood.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_pipe.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_queue.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_sized_queue.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_sized_queue2.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_sized_queue3.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
bm_vm_thread_sized_queue4.rb Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
README.md Revert "benchmark/*.yml: convert from benchmark/bm_*.rb" 2018-07-10 13:05:29 +00:00
require.yml
require_thread.yml
so_count_words.yml
so_k_nucleotide.yml
so_reverse_complement.yml
vm1_attr_ivar.yml
vm1_attr_ivar_set.yml
vm1_block.yml
vm1_blockparam.yml
vm1_blockparam_call.yml
vm1_blockparam_pass.yml
vm1_blockparam_yield.yml
vm1_const.yml
vm1_ensure.yml
vm1_float_simple.yml
vm1_gc_short_lived.yml
vm1_gc_short_with_complex_long.yml
vm1_gc_short_with_long.yml
vm1_gc_short_with_symbol.yml
vm1_gc_wb_ary.yml
vm1_gc_wb_ary_promoted.yml
vm1_gc_wb_obj.yml
vm1_gc_wb_obj_promoted.yml
vm1_ivar.yml
vm1_ivar_set.yml
vm1_length.yml
vm1_lvar_init.yml
vm1_lvar_set.yml
vm1_neq.yml
vm1_not.yml
vm1_rescue.yml
vm1_simplereturn.yml
vm1_swap.yml
vm1_yield.yml
vm2_array.yml
vm2_bigarray.yml
vm2_bighash.yml
vm2_case.yml
vm2_case_lit.yml
vm2_defined_method.yml
vm2_dstr.yml
vm2_eval.yml
vm2_fiber_switch.yml
vm2_method.yml
vm2_method_missing.yml
vm2_method_with_block.yml
vm2_module_ann_const_set.yml
vm2_module_const_set.yml
vm2_mutex.yml
vm2_newlambda.yml
vm2_poly_method.yml
vm2_poly_method_ov.yml
vm2_poly_singleton.yml
vm2_proc.yml
vm2_raise1.yml
vm2_raise2.yml
vm2_regexp.yml
vm2_send.yml
vm2_string_literal.yml
vm2_struct_big_aref_hi.yml
vm2_struct_big_aref_lo.yml
vm2_struct_big_aset.yml
vm2_struct_big_href_hi.yml
vm2_struct_big_href_lo.yml
vm2_struct_big_hset.yml
vm2_struct_small_aref.yml
vm2_struct_small_aset.yml
vm2_struct_small_href.yml
vm2_struct_small_hset.yml
vm2_super.yml
vm2_unif1.yml
vm2_zsuper.yml

ruby/benchmark

This directory has benchmark definitions to be run with benchmark_driver.gem.

Normal usage

Execute gem install benchmark-driver and run a command like:

# Run a benchmark script with the ruby in the $PATH
benchmark-driver benchmark/erb_render.yml

# Run all benchmark scripts with multiple Ruby executables or options
benchmark-driver benchmark/*.yml -e /path/to/ruby -e '/path/to/ruby --jit'

# Or compare Ruby versions managed by rbenv
benchmark-driver benchmark/*.yml --rbenv '2.5.1;2.6.0-preview2 --jit'

make benchmark

Using make benchmark, make update-benchmark-driver automatically downloads the supported version of benchmark-driver, and it runs benchmarks with the downloaded benchmark-driver.

# Run all benchmarks with the ruby in the $PATH and the built ruby
make benchmark

# Or compare with specific ruby binary
make benchmark COMPARE_RUBY="/path/to/ruby --jit"

# Run vm1 benchmarks
make benchmark ITEM=vm1

# Run some limited benchmarks in ITEM-matched files
make benchmark ITEM=vm1 OPTS=--filter=block

# You can specify the benchmark by an exact filename instead of using the default argument:
# ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb')
make benchmark ARGS=../benchmark/erb_render.yml

# You can specify any option via $OPTS
make benchmark OPTS="--help"

# With `make benchmark`, some special runner plugins are available:
#   -r peak, -r size
make benchmark ITEM=vm2_bigarray OPTS="-r peak"