aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark/require.yml
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/require.yml')
-rw-r--r--benchmark/require.yml36
1 files changed, 36 insertions, 0 deletions
diff --git a/benchmark/require.yml b/benchmark/require.yml
new file mode 100644
index 0000000000..711d8e11e9
--- /dev/null
+++ b/benchmark/require.yml
@@ -0,0 +1,36 @@
+prelude: |
+ require "fileutils"
+
+ def prepare
+ num_files = 10000
+
+ basename = File.dirname($0)
+ data_dir = File.join(basename, "bm_require.data")
+
+ # skip if all of files exists
+ if File.exist?(File.join(data_dir, "c#{num_files}.rb"))
+ return
+ end
+
+ FileUtils.mkdir_p(data_dir)
+
+ 1.upto(num_files) do |i|
+ f = File.open("#{data_dir}/c#{i}.rb", "w")
+ f.puts <<-END
+ class C#{i}
+ end
+ END
+ end
+ end
+
+ prepare
+benchmark:
+ require: |
+ $:.push File.join(File.dirname(__FILE__), "bm_require.data")
+
+ 1.upto(10000) do |i|
+ require "c#{i}"
+ end
+
+ $:.pop
+loop_count: 1