From 09e2c5e824b69bc02ca31d26b4c2c58d23b781eb Mon Sep 17 00:00:00 2001 From: kosaki Date: Thu, 8 Oct 2015 21:31:49 +0000 Subject: * benchmark/bm_require.rb: new benchmark for require. * benchmark/bm_require_thread.rb: new benchmark for conflicting require vs thread. like [Bug #11559] * prepare_require.rb: new file for preparing above tests. * prepare_require.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ benchmark/bm_require.rb | 7 +++++++ benchmark/bm_require_thread.rb | 15 +++++++++++++++ benchmark/prepare_require.rb | 14 ++++++++++++++ benchmark/prepare_require_thread.rb | 2 ++ 5 files changed, 45 insertions(+) create mode 100644 benchmark/bm_require.rb create mode 100644 benchmark/bm_require_thread.rb create mode 100644 benchmark/prepare_require.rb create mode 100644 benchmark/prepare_require_thread.rb diff --git a/ChangeLog b/ChangeLog index a8f2e627a9..02bd3ee85c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Oct 9 06:18:04 2015 KOSAKI Motohiro + * benchmark/bm_require.rb: new benchmark for require. + * benchmark/bm_require_thread.rb: new benchmark for conflicting + require vs thread. like [Bug #11559] + * prepare_require.rb: new file for preparing above tests. + * prepare_require.rb: ditto. + Thu Oct 8 14:10:45 2015 Zachary Scott * ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1 diff --git a/benchmark/bm_require.rb b/benchmark/bm_require.rb new file mode 100644 index 0000000000..b8abc88f41 --- /dev/null +++ b/benchmark/bm_require.rb @@ -0,0 +1,7 @@ +$:.push File.join(File.dirname(__FILE__), "bm_require.data") + +1.upto(10000) do |i| + require "c#{i}" +end + +$:.pop diff --git a/benchmark/bm_require_thread.rb b/benchmark/bm_require_thread.rb new file mode 100644 index 0000000000..e54db6c6e5 --- /dev/null +++ b/benchmark/bm_require_thread.rb @@ -0,0 +1,15 @@ +$:.push File.join(File.dirname(__FILE__), "bm_require.data") + +i=0 +t = Thread.new do + while true + i = i+1 # dummy loop + end +end + +1.upto(100) do |i| + require "c#{i}" +end + +$:.pop +t.kill diff --git a/benchmark/prepare_require.rb b/benchmark/prepare_require.rb new file mode 100644 index 0000000000..40926df9d0 --- /dev/null +++ b/benchmark/prepare_require.rb @@ -0,0 +1,14 @@ +require "fileutils" + +basename = File.dirname($0) +data_dir = File.join(basename, "bm_require.data") + +FileUtils.mkdir_p(data_dir) + +1.upto(10000) do |i| + f = File.open("#{data_dir}/c#{i}.rb", "w") + f.puts <<-END + class C#{i} + end + END +end diff --git a/benchmark/prepare_require_thread.rb b/benchmark/prepare_require_thread.rb new file mode 100644 index 0000000000..339ecb8b39 --- /dev/null +++ b/benchmark/prepare_require_thread.rb @@ -0,0 +1,2 @@ +load File.join(File.dirname(__FILE__), "prepare_require.rb") + -- cgit v1.2.3