Sha256: ffa1b90389f8dc73d8f91c4fe5ec1350e784a0b263eb869673bd66ba8c9656f3

Contents?: true

Size: 658 Bytes

Versions: 31

Compression:

Stored size: 658 Bytes

Contents

Bundler.require(:benchmarks)

require "dry-initializer"

class ParamDefaults
  extend Dry::Initializer::Mixin

  param :foo, default: proc { "FOO" }
  param :bar, default: proc { "BAR" }
  param :baz, default: proc { "BAZ" }
end

class OptionDefaults
  extend Dry::Initializer::Mixin

  option :foo, default: proc { "FOO" }
  option :bar, default: proc { "BAR" }
  option :baz, default: proc { "BAZ" }
end

puts "Benchmark for param's vs. option's defaults"

Benchmark.ips do |x|
  x.config time: 15, warmup: 10

  x.report("param's defaults") do
    ParamDefaults.new
  end

  x.report("option's defaults") do
    OptionDefaults.new
  end

  x.compare!
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
dry-initializer-1.4.1 benchmarks/params_vs_options.rb
dry-initializer-1.4.0 benchmarks/params_vs_options.rb
dry-initializer-1.3.0 benchmarks/params_vs_options.rb
dry-initializer-1.2.0 benchmarks/params_vs_options.rb
dry-initializer-1.1.3 benchmarks/params_vs_options.rb
dry-initializer-1.1.2 benchmarks/params_vs_options.rb
dry-initializer-1.1.1 benchmarks/params_vs_options.rb
dry-initializer-1.1.0 benchmarks/params_vs_options.rb
dry-initializer-1.0.0 benchmarks/params_vs_options.rb
dry-initializer-0.11.0 benchmarks/params_vs_options.rb
dry-initializer-0.10.2 benchmarks/params_vs_options.rb
dry-initializer-0.10.1 benchmarks/params_vs_options.rb
dry-initializer-0.10.0 benchmarks/params_vs_options.rb
dry-initializer-0.9.3 benchmarks/params_vs_options.rb
dry-initializer-0.9.2 benchmarks/params_vs_options.rb
dry-initializer-0.9.1 benchmarks/params_vs_options.rb
dry-initializer-0.9.0 benchmarks/params_vs_options.rb
dry-initializer-0.8.1 benchmarks/params_vs_options.rb
dry-initializer-0.8.0 benchmarks/params_vs_options.rb
dry-initializer-0.7.0 benchmarks/params_vs_options.rb