Sha256: 6d6a8704a78326ab16e1589488c8fe58e22df52fe37da951408879beeba37c8d

Contents?: true

Size: 737 Bytes

Versions: 5

Compression:

Stored size: 737 Bytes

Contents

require 'benchmark'

n = 10_000

class  Foo; end
module Bar; end

Benchmark.benchmark do |bm|
  puts "Class.new(Foo)"

  3.times do
    bm.report do
      n.times do
        Class.new(Foo)
      end
    end
  end

  puts "Class.new { include Bar }"

  3.times do
    bm.report do
      n.times do
        Class.new { include Bar }
      end
    end
  end
end

# $ ruby benchmarks/include_v_superclass.rb
# Class.new(Foo)
#   0.030000   0.000000   0.030000 (  0.033536)
#   0.020000   0.000000   0.020000 (  0.022077)
#   0.040000   0.010000   0.050000 (  0.035813)
# Class.new { include Bar }
#   0.040000   0.000000   0.040000 (  0.041427)
#   0.040000   0.000000   0.040000 (  0.039019)
#   0.030000   0.000000   0.030000 (  0.037018)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
opal-rspec-1.1.0.alpha3 rspec-expectations/upstream/benchmarks/include_v_superclass.rb
opal-rspec-1.1.0.alpha2 rspec-expectations/upstream/benchmarks/include_v_superclass.rb
opal-rspec-1.1.0.alpha1 rspec-expectations/upstream/benchmarks/include_v_superclass.rb
opal-rspec-1.0.0 rspec-expectations/upstream/benchmarks/include_v_superclass.rb
opal-rspec-1.0.0.alpha1 rspec-expectations/upstream/benchmarks/include_v_superclass.rb