From 8c84716b24185c97d918080e5850a3694301e268 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 --- benchmark/bm_require.rb | 7 +++++++ benchmark/bm_require_thread.rb | 15 +++++++++++++++ benchmark/prepare_require.rb | 14 ++++++++++++++ benchmark/prepare_require_thread.rb | 2 ++ 4 files changed, 38 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 (limited to 'benchmark') diff --git a/benchmark/bm_require.rb b/benchmark/bm_require.rb new file mode 100644 index 0000000..b8abc88 --- /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 0000000..e54db6c --- /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 0000000..40926df --- /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 0000000..339ecb8 --- /dev/null +++ b/benchmark/prepare_require_thread.rb @@ -0,0 +1,2 @@ +load File.join(File.dirname(__FILE__), "prepare_require.rb") + -- cgit v1.1