diff --git a/benchmark/core/integer/bench_even_odd.rb b/benchmark/core/integer/bench_even_odd.rb new file mode 100644 index 0000000000..f6245795f5 --- /dev/null +++ b/benchmark/core/integer/bench_even_odd.rb @@ -0,0 +1,56 @@ +require 'benchmark' +require 'benchmark/ips' + +Benchmark.ips do |x| + +#Integer#even + x.report "Integer#even? true" do |times| + i = 0 + while i < times + 2.even? + i += 1 + end + end + + x.report "Integer#even? false" do |times| + i = 0 + while i < times + 1.even? + i += 1 + end + end + + x.report "Integer#even? alternating" do |times| + i = 0 + while i < times + i.even? + i += 1 + end + end + +#Integer#odd + x.report "Integer#odd? true" do |times| + i = 0 + while i < times + 1.even? + i += 1 + end + end + + x.report "Integer#odd? false" do |times| + i = 0 + while i < times + 2.even? + i += 1 + end + end + + x.report "Integer#odd? alternating" do |times| + i = 0 + while i < times + i.even? + i += 1 + end + end + +end diff --git a/benchmark/core/integer/bench_times.rb b/benchmark/core/integer/bench_times.rb new file mode 100644 index 0000000000..d9138cd256 --- /dev/null +++ b/benchmark/core/integer/bench_times.rb @@ -0,0 +1,14 @@ +require 'benchmark' +require 'benchmark/ips' + +Benchmark.ips do |x| + + x.report "Integer#times" do |times| + i = 0 + while i < times + 1000.times{ |x| } + i += 1 + end + end + +end diff --git a/benchmark/core/integer/bench_up_down.rb b/benchmark/core/integer/bench_up_down.rb new file mode 100644 index 0000000000..ac00cddc29 --- /dev/null +++ b/benchmark/core/integer/bench_up_down.rb @@ -0,0 +1,22 @@ +require 'benchmark' +require 'benchmark/ips' + +Benchmark.ips do |x| + + x.report "Integer#downto" do |times| + i = 0 + while i < times + 10000.downto(1) + i += 1 + end + end + + x.report "Integer#upto" do |times| + i = 0 + while i < times + 1.upto(10000) + i += 1 + end + end + +end