diff options
Diffstat (limited to 'benchmark/require.yml')
-rw-r--r-- | benchmark/require.yml | 36 |
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 |