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 --- ChangeLog | 10 ++++++++++ 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 +++++++ 6 files changed, 45 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 diff --git a/ChangeLog b/ChangeLog index df732669b7..20ac38da3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Tue Jun 23 04:58:06 2015 Eric Wong + + * 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 + Mon Jun 22 18:08:48 2015 Naohisa Goto * test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed 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