aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark
Commit message (Collapse)AuthorAgeFilesLines
* st.c: use power-of-two sizes to avoid slow modulo opsnormal2014-03-228-0/+37
| | | | | | | | | | | | | | | | | | * st.c (hash_pos): use bitwise AND to avoid slow modulo op (new_size): power-of-two sizes for hash_pos change (st_numhash): adjust for common keys due to lack of prime modulo [Feature #9425] * hash.c (rb_any_hash): right shift for symbols * benchmark/bm_hash_aref_miss.rb: added to show improvement * benchmark/bm_hash_aref_sym_long.rb: ditto * benchmark/bm_hash_aref_str.rb: ditto * benchmark/bm_hash_aref_sym.rb: ditto * benchmark/bm_hash_ident_num.rb: added to prevent regression * benchmark/bm_hash_ident_obj.rb: ditto * benchmark/bm_hash_ident_str.rb: ditto * benchmark/bm_hash_ident_sym.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver: avoid large alloc in driver processnormal2014-01-301-1/+1
| | | | | | | * benchmark/driver: avoid large alloc in driver process [ruby-core:59869] [Bug #9430] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typoscharliesome2013-12-281-5/+5
| | | | | | | | | | | | * ext/fiddle/lib/fiddle/import.rb: ditto * ext/psych/lib/psych.rb: ditto * ext/psych/lib/psych/nodes/sequence.rb: ditto * ext/tk/lib/multi-tk.rb: ditto * ext/tk/lib/tcltk.rb: ditto Closes GH-490 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_so_meteor_contest.rb: [DOC] Fix typoa_matsuda2013-12-241-1/+1
| | | | | | | s/accross/across/ [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: check GC::OPTS availabilityko12013-12-191-1/+1
| | | | | | | | for not MRI 2.1.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_hash_flatten.rb: added. r43896 is about 4 times fasterglass2013-11-283-0/+27
| | | | | | | | | | | | than 2.0.0p353. * benchmark/bm_hash_keys.rb: added. r43896 is about 5 times faster than 2.0.0p353. * benchmark/bm_hash_values.rb: added. r43896 is about 5 times faster than 2.0.0p353. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: output version description and GC::OPTS.ko12013-11-091-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-11-067-106/+106
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm1_gc_short_lived.rb: added.ko12013-11-067-0/+106
| | | | | | | | | | | | | | | | These GC benchmarks do not reflect practical applications. They are only for tuning. * benchmark/bm_vm1_gc_short_with_complex_long.rb: added. * benchmark/bm_vm1_gc_short_with_long.rb: added. * benchmark/bm_vm1_gc_short_with_symbol.rb: added. * benchmark/bm_vm1_gc_wb_ary.rb: added. * benchmark/bm_vm1_gc_wb_obj.rb: added. * benchmark/bm_vm_thread_queue.rb: added. Thie benchmark is added to know how fast C verion of thread.so. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: fix typo of r43543eregon2013-11-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: add some options to make quiet.ko12013-11-051-6/+22
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: print HWM (high water mark) if possible.ko12013-10-311-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_app_answer.rb: revert r42990, benchmark scripts shoulderegon2013-09-221-1/+9
| | | | | | | be self-contained and avoid dependencies, especially such small one. See https://github.com/ruby/ruby/pull/393#issuecomment-24861301. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * append newline at EOF.nobu2013-09-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_app_answer.rb: removed duplicate code [Fixes GH-393]zzak2013-09-201-10/+2
| | | | | | | https://github.com/ruby/ruby/pull/393 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: fix summary of benchmark result notaton.ko12013-06-211-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: Do not use GC::Profiler::disable becauseko12013-06-201-3/+2
| | | | | | | | | | GC::Profiler::disable prohibit to access profiling data. It should be spec bug. Skip GC::Profiler::report if RUBY_VERSION < '2.0.0' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: stop GC::Profiler before output results.ko12013-06-201-0/+1
| | | | | | | | Generating GC::Profiler result under profiling causes infinite loop. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/gcbench.rb: don't use __dir__ to make compatibleko12013-06-201-1/+1
| | | | | | | | with ruby 1.9.3. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_app_aobench.rb: use attr_accessor/reader instead ofko12013-06-201-20/+4
| | | | | | | | defining methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2013-06-201-7/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-06-202-309/+309
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_app_aobench.rb: added.ko12013-06-202-0/+309
| | | | | | | | * benchmark/gc/aobench.rb: added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-06-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_so_binary_trees.rb: disable `puts' methodko12013-06-202-2/+8
| | | | | | | | | and change iteration parameter to increase execution time. * benchmark/gc/binarytree.rb: added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-06-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/pentomino.rb: added.ko12013-06-201-0/+1
| | | | | | | | Simply load pentomino puzzle in the benchmark/ directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2013-06-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-06-201-29/+29
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc/redblack.rb: import red black tree benchmark fromko12013-06-202-0/+395
| | | | | | | | | | https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb * benchmark/gc/ring.rb: add a benchmark. This benchmark create many old objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-06-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/gc: create a directory to store GC related benchmark.ko12013-06-205-0/+59
| | | | | | | | | | | | * benchmark/gc/gcbench.rb: moved from tool/gcbench.rb. * benchmark/gc/hash(1|2).rb: ditto. * benchmark/gc/rdoc.rb: ditto. * benchmark/gc/null.rb: added. * common.mk: fix rule. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_hash_shift.rb: add benchmark for Hash#shiftcharliesome2013-04-251-0/+10
| | | | | | | | | | | | | | | * hash.c (rb_hash_shift): use st_shift if hash is not being iterated to delete element without iterating the whole hash. * hash.c (shift_i): remove function * include/ruby/st.h (st_shift): add st_shift function * st.c (st_shift): ditto [Bug #8312] [ruby-core:54524] Patch by funny-falcon git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: specify label `built-ruby'.ko12012-11-261-1/+1
| | | | | | | | * benchmark/driver.rb: quote path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: accept multiple `-e'.ko12012-11-261-10/+13
| | | | | | | | | You don't need to use `;' separation character. [ruby-core:50139] [ruby-trunk - Bug #7380] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_so_nsieve_bits.rb: add an encoding pragma.ko12012-11-211-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver.rb: fix typos and output.eregon2012-11-171-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: add `-x' or `--exclude' optionko12012-10-241-0/+5
| | | | | | | | | | to specify exclude benchmark name pattern. You can specify "-x foo" if you want to exclude the benchmarks if the name of benchmark contains `foo'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: remove unexpected `output'.ko12012-10-191-1/+0
| | | | | | | | (commit miss) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bmx_temp.rb: removed.ko12012-10-191-5/+0
| | | | | | | | This file should not be in repository. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: add new option `--ruby-arg [ARG]'ko12012-10-191-1/+7
| | | | | | | | | which is passed as a launch parameter for each ruby's execution. ($ ruby [ARG] [File]) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm2_method_missing.rb: add a benchmark to measureko12012-10-171-0/+12
| | | | | | | | performance of invoking `method_missing'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm2_dstr.rb: add a benchmark to measureko12012-10-161-0/+6
| | | | | | | | performance of dynamic generated string ("foo#{bar}baz"). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield'ko12012-10-162-0/+19
| | | | | | | | | | (invoke empty block) performance. * benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure method invocation with empty block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb (show_results): Show speedup ratioko12012-10-161-18/+45
| | | | | | | | | with first executables score at last of results if two or more executrables are given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: some refactoring.ko12012-10-161-14/+5
| | | | | | | | | | | | | | | | (1) Remove `average differential'. In this benchmark driver, We should not care about `average'. We use fastest score because this score should not include any disturbances (affections of background process, etc). If you care about timing affect, I recommend `median' score with more than 5 examinations rather than simple `average' score (`average' score was affected by error scores). (2) Show log file name. (3) Change default directory from './' to driver's directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/: add missing spaces around assignment operators (= and +=) forkou2012-10-1552-56/+56
| | | | | | | | consistency. Approved by ko1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm1_attr_ivar(_set).rb: added (for method dispatch speed).ko12012-10-143-0/+35
| | | | | | | | * benchmark/bm_vm1_float_simple.rb: added (for flonum/float). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: introduce flonum technique forko12012-08-231-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 64bit CPU environment (sizeof(double) == sizeof(VALUE)). flonum technique enables to avoid double object creation if the double value d is in range about between 1.72723e-77 < |d| <= 1.15792e+77 or 0.0. flonum Float value is immediate and their lowest two bits are b10. If flonum is activated, then USE_FLONUM macro is 1. I'll write detailed in this technique on https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Flonum_tech * benchmark/bmx_temp.rb: add an benchmark for simple Float calculation. * gc.c (id2ref, rb_obj_id): add flonum Float support. * include/ruby/intern.h: move decl of rb_float_new(double) to include/ruby/ruby.h. * insns.def, vm.c, vm_insnhelper.c: add flonum optimization and simplify source code. * vm_insnhelper.h (FLONUM_2_P): added. * marshal.c: support flonum output. * numeric.c (rb_float_new_in_heap): added. * parse.y: support flonum. * random.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/driver.rb: fix typos.eregon2012-08-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e