Sha256: ede88910c9b22c08a2bd7f276e5b4e311317b692eee8a6b8c13c8de66d5ee3e4
Contents?: true
Size: 1.76 KB
Versions: 13
Compression:
Stored size: 1.76 KB
Contents
require 'benchmark_driver/struct' require 'rbconfig' module BenchmarkDriver # All CLI options Config = ::BenchmarkDriver::Struct.new( :runner_type, # @param [String] :output_type, # @param [String] :paths, # @param [Array<String>] :executables, # @param [Array<BenchmarkDriver::Config::Executable>] :filters, # @param [Array<Regexp>] :repeat_count, # @param [Integer] :repeat_result, # @param [String] :run_duration, # @param [Float] :timeout, # @param [Float,nil] :verbose, # @param [Integer] defaults: { runner_type: 'ips', output_type: 'compare', filters: [], repeat_count: 1, repeat_result: 'best', run_duration: 3.0, verbose: 0, }, ) # Subset of FullConfig passed to JobRunner Config::RunnerConfig = ::BenchmarkDriver::Struct.new( :repeat_count, # @param [Integer] :repeat_result, # @param [String] :run_duration, # @param [Float] :timeout, # @param [Float,nil] :verbose, # @param [Integer] ) Config::Executable = ::BenchmarkDriver::Struct.new( :name, # @param [String] :command, # @param [Array<String>] ) do def initialize(*) super @cache = {} # modifiable storage even after `#freeze` end # @return [String] - Return result of `ruby -v`. This is for convenience of output plugins. def description @cache[:description] ||= IO.popen([*command, '-v'], &:read).rstrip end # @return [String] - Return RUBY_VERSION def version @cache[:version] ||= IO.popen([*command, '-e', 'print RUBY_VERSION'], &:read) end end Config.defaults[:executables] = [ BenchmarkDriver::Config::Executable.new(name: RUBY_VERSION, command: [RbConfig.ruby]), ] end
Version data entries
13 entries across 13 versions & 2 rubygems