summaryrefslogtreecommitdiff
path: root/benchmark
Commit message (Collapse)AuthorAgeFilesLines
* Add benchmark for hash small literalstenderlove2018-12-063-0/+9
| | | | | | Co-Authored-By: Krzysztof Rybka <krzysztof.rybka@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rename fiber chain benchmark.samuel2018-11-201-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove `Benchmark` times.samuel2018-11-201-18/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Better benchmark name.samuel2018-11-201-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix broken benchmarksamuel2018-11-201-10/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix code climate cognitive complexity issuesamuel2018-11-201-9/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-11-201-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rewrite fiber benchmarksamuel2018-11-201-0/+44
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* don't use GC::Profiler on default.ko12018-09-281-1/+2
| | | | | | | | * benchmark/gc/gcbench.rb: disable GC::Profiler on default. add -p option instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add small utility for benchmarking.ko12018-09-281-0/+2
| | | | | | | | | | * benchmark/lib/load.rb: add small utility which requires benchmark-driver.rb. You can load this file and can use benchmark-driver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make opt_str_freeze leafshyouhei2018-09-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Simply use DISPATCH_ORIGINAL_INSN instead of rb_funcall. This is, when possible, overall performant because method dispatch results are cached inside of CALL_CACHE. Should also be good for JIT. ---- trunk: ruby 2.6.0dev (2018-09-12 trunk 64689) [x86_64-darwin15] ours: ruby 2.6.0dev (2018-09-12 leaf-insn 64688) [x86_64-darwin15] last_commit=make opt_str_freeze leaf Calculating ------------------------------------- trunk ours vm2_freezestring 5.440M 31.411M i/s - 6.000M times in 1.102968s 0.191017s Comparison: vm2_freezestring ours: 31410864.5 i/s trunk: 5439865.4 i/s - 5.77x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Adding Enumerator::Lazy#uniq and Enumerator::Lazy#grep_v to proc chainingnobu2018-08-166-0/+24
| | | | | | | | | | [Feature #14994] [Fix GH-1930] From: Anmol Chopra <chopraanmol1@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: skip showing --timeout option [ci skip]k0kubun2018-07-111-1/+0
| | | | | | | because it's only available for limited platforms for now. I'll make it portable and show it later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: upgrade benchmark_driverk0kubun2018-07-111-10/+10
| | | | | | | | benchmark/README.md: fix help output, which is changed on v0.14.6. Especially `e1::path1,arg1,...; e2::path2,arg2` part was wrong since `,` can't be used to split arguments anymore. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: some are defined with YAML [ci skip]k0kubun2018-07-101-4/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: fix typo [ci skip]k0kubun2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: revise ERB benchmarks using YAML syntaxk0kubun2018-07-105-52/+50
| | | | | | | | | | | to improve the accuracy of measurement by stop using block. benchmark/app_erb.rb -> benchmark/app_erb.yml: renamed and revised benchmark/erb_render.rb -> benchmark/erb_render.yml: ditto benchmark/README.md: follow renames git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: erb_render is no longer yml but rb [ci skip]k0kubun2018-07-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: wording consistency in one sentence [ci skip]k0kubun2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* output/driver.rb: add output plugin to reproducek0kubun2018-07-101-0/+36
| | | | | | | | | | the original behavior of benchmark/driver.rb. Probably I won't use this but this is requested by ko1. Use this with: make benchmark OPTS="-o driver" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r63899k0kubun2018-07-103-612/+3
| | | | | | this is no longer needed due to r63926 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark_driver/runner: add runners for metricsk0kubun2018-07-106-1/+229
| | | | | | | | | | | supported by legacy benchmark/driver.rb. benchmark/README.md: document them common.mk: update benchmark_driver to correct 0.0 output and to fix spacing format of `-o simple` and `-o markdown`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runner/size.rb: fix metric passed to outputk0kubun2018-07-102-1/+11
| | | | | | | | | runner/peak.rb: ditto This is needed to make commands like `make -C .ruby-svn benchmark ITEM=erb OPTS="-r size -o simple"` succeed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: add help output [ci skip]k0kubun2018-07-101-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: don't recommend alias installation [ci skip]k0kubun2018-07-101-2/+2
| | | | | | | benchmark_driver is the official way to install benchmark_driver. benchmark-driver is just an alias for it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: drop all bm_ prefix for legacy driver.rbk0kubun2018-07-10127-0/+0
| | | | | | benchmark/*.rb is only benchmarks now. We don't need prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"k0kubun2018-07-10255-3465/+3073
| | | | | | | | | | | | | | | 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
* benchmark: resurrect peak / size metricsk0kubun2018-07-104-16/+170
| | | | | | | | | | | | | | by adding runner plugins for them. benchmark/lib/benchmark_driver/runner/peak.rb: added peak runner plugin benchmark/lib/benchmark_driver/runner/size.rb: added size runner plugin common.mk: allow using them benchmark/memory_wrapper.rb: deleted in favor of those runner plugins benchmark/README.md: document them git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: fix -e interface for v0.14 [ci skip]k0kubun2018-07-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver.rb: fully obsolete thisk0kubun2018-07-092-117/+9
| | | | | | | | | | | | in favor of just using benchmark_driver.gem. common.mk: The new `make benchmark` covers the both usages for old `make benchmark` and old `make benchmark-each`. So `make benchmark-each` is dropped now. benchmark/README.md: Explain its details git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: upgrade benchmark_driver to v0.14k0kubun2018-07-091-6/+6
| | | | | | | benchmark/driver.rb: deal with breaking changes which are actually introduced for this driver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file_rename.yml: allow running this on mswin/mingwk0kubun2018-07-091-1/+1
| | | | | | | Suggested by MSP-Grep: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/87883 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* app_pentominio.yml: drop unnecessary preludek0kubun2018-07-091-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver.rb: make this more similark0kubun2018-07-081-19/+39
| | | | | | | | | to original benchmark-driver command. I'm going to add some runner plugins to resurrect metrics which were originally supported by benchmark/driver.rb... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: [ci skip] change syntax highlightk0kubun2018-07-081-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: [ci skip] write documentationk0kubun2018-07-082-1/+50
| | | | | | | | about this directory benchmark/driver.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver.rb: drop legacy Ruby script supportk0kubun2018-07-081-56/+12
| | | | | | | | Now all benchmarks are converted to YAMLs. common.mk: Drop obsoleted bm_* pattern git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/app_pentomino.yml: remove original scripts after __END__k0kubun2018-07-081-132/+1
| | | | | | mistakenly left by conversion script... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/*.yml: convert from benchmark/bm_*.rbk0kubun2018-07-08254-3200/+3595
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/gc: prevent GC bench from depending on normal benchmarkk0kubun2018-07-083-3/+612
| | | | | | | | scripts. This is needed to finish converting Ruby scripts to YAMLs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm2_struct_small_aset.yml: unwrap loop_countk0kubun2018-07-081-5/+9
| | | | | | since `i` is involved in this script as well... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm2_*.yml: fix ugly conversion errorsk0kubun2018-07-0826-121/+119
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm2_*.yml: abstract away the while loopk0kubun2018-07-0839-505/+384
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm1_ensure.yml: rollback loop_count abstractionk0kubun2018-07-081-3/+8
| | | | | | | | | | | for now. When measured script is really too fast, while loop substituion may return a negative benchmark result. Probably benchmark_driver.gem has rooms to be improved about this. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm1_*.yml: manual fixes for ugly conversionsk0kubun2018-07-089-39/+34
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/vm1_*.yml: abstract away the while loopk0kubun2018-07-0830-335/+241
| | | | | | | | | benchmark/driver.rb had removed the cost for while loop in benchmark/bm_vm1_*.rb, and benchmark_driver.gem can achieve the same thing with `loop_count`. But unfortunately current benchmark_driver.gem can't solve it only for vm1_yield.yml... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: convert bm_vm2_*.rb to vm2_*.ymlk0kubun2018-07-0876-481/+593
| | | | | | | | | This YAML transformation is needed to support whileloop2 time substituion by benchmark_driver.gem later. This commmit changes no benchmark behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e