summaryrefslogtreecommitdiff
path: root/benchmark/lib/benchmark_driver/runner/mjit.rb
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/lib/benchmark_driver/runner/mjit.rb')
-rw-r--r--benchmark/lib/benchmark_driver/runner/mjit.rb34
1 files changed, 0 insertions, 34 deletions
diff --git a/benchmark/lib/benchmark_driver/runner/mjit.rb b/benchmark/lib/benchmark_driver/runner/mjit.rb
deleted file mode 100644
index abefa463b3..0000000000
--- a/benchmark/lib/benchmark_driver/runner/mjit.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-require 'benchmark_driver/struct'
-require 'benchmark_driver/metric'
-require 'erb'
-
-# A runner to measure after-JIT performance easily
-class BenchmarkDriver::Runner::Mjit < BenchmarkDriver::Runner::Ips
- # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"
- Job = Class.new(BenchmarkDriver::DefaultJob)
-
- # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`
- JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC]).extend(Module.new{
- def parse(**)
- jobs = super
- jobs.map do |job|
- job = job.dup
- job.prelude = "#{job.prelude}\n#{<<~EOS}"
- if defined?(RubyVM::JIT) && RubyVM::JIT.enabled?
- __bmdv_ruby_i = 0
- while __bmdv_ruby_i < 10000 # jit_min_calls
- #{job.script}
- __bmdv_ruby_i += 1
- end
- RubyVM::JIT.pause # compile
- #{job.script}
- RubyVM::JIT.resume; RubyVM::JIT.pause # recompile
- #{job.script}
- RubyVM::JIT.resume; RubyVM::JIT.pause # recompile 2
- end
- EOS
- job
- end
- end
- })
-end