From a63c5b2646ee5f278fa67e2a6c2c3dd942fa1a5f Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 22 Jun 2015 20:10:07 +0000 Subject: add benchmarks for struct[:name] * benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark * benchmark/bm_vm2_struct_big_href_lo.rb: ditto * benchmark/bm_vm2_struct_big_hset.rb: ditto * benchmark/bm_vm2_struct_small_href.rb: ditto * benchmark/bm_vm2_struct_small_hset.rb: ditto Thanks to Sokolov Yura aka funny_falcon in https://bugs.ruby-lang.org/issues/10585 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- benchmark/bm_vm2_struct_big_href_hi.rb | 7 +++++++ benchmark/bm_vm2_struct_big_href_lo.rb | 7 +++++++ benchmark/bm_vm2_struct_big_hset.rb | 7 +++++++ benchmark/bm_vm2_struct_small_href.rb | 7 +++++++ benchmark/bm_vm2_struct_small_hset.rb | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 benchmark/bm_vm2_struct_big_href_hi.rb create mode 100644 benchmark/bm_vm2_struct_big_href_lo.rb create mode 100644 benchmark/bm_vm2_struct_big_hset.rb create mode 100644 benchmark/bm_vm2_struct_small_href.rb create mode 100644 benchmark/bm_vm2_struct_small_hset.rb (limited to 'benchmark') diff --git a/benchmark/bm_vm2_struct_big_href_hi.rb b/benchmark/bm_vm2_struct_big_href_hi.rb new file mode 100644 index 0000000000..fff940a80a --- /dev/null +++ b/benchmark/bm_vm2_struct_big_href_hi.rb @@ -0,0 +1,7 @@ +s = Struct.new(*('a'..'z').map { |x| x.to_sym }) +x = s.new +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + x[:z] +end diff --git a/benchmark/bm_vm2_struct_big_href_lo.rb b/benchmark/bm_vm2_struct_big_href_lo.rb new file mode 100644 index 0000000000..5e4085d59d --- /dev/null +++ b/benchmark/bm_vm2_struct_big_href_lo.rb @@ -0,0 +1,7 @@ +s = Struct.new(*('a'..'z').map { |x| x.to_sym }) +x = s.new +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + x[:k] +end diff --git a/benchmark/bm_vm2_struct_big_hset.rb b/benchmark/bm_vm2_struct_big_hset.rb new file mode 100644 index 0000000000..9c0cee4141 --- /dev/null +++ b/benchmark/bm_vm2_struct_big_hset.rb @@ -0,0 +1,7 @@ +s = Struct.new(*('a'..'z').map { |x| x.to_sym }) +x = s.new +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + x[:k] = i +end diff --git a/benchmark/bm_vm2_struct_small_href.rb b/benchmark/bm_vm2_struct_small_href.rb new file mode 100644 index 0000000000..2c88fee6bf --- /dev/null +++ b/benchmark/bm_vm2_struct_small_href.rb @@ -0,0 +1,7 @@ +s = Struct.new(:a, :b, :c) +x = s.new +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + x[:a] +end diff --git a/benchmark/bm_vm2_struct_small_hset.rb b/benchmark/bm_vm2_struct_small_hset.rb new file mode 100644 index 0000000000..33c36d20f1 --- /dev/null +++ b/benchmark/bm_vm2_struct_small_hset.rb @@ -0,0 +1,7 @@ +s = Struct.new(:a, :b, :c) +x = s.new +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + x[:a] = 1 +end -- cgit v1.2.3