Sha256: 87c4eab566e25ee11e61bfe7309ff30515367cca9a417b7fe38ea62aa2c3fca2

Contents?: true

Size: 1.11 KB

Versions: 56

Compression:

Stored size: 1.11 KB

Contents

require "benchmark"
require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')

unless YARD::CodeObjects::Proxy.private_instance_methods.include?('to_obj')
  raise "This benchmark is dependent on YARD::CodeObjects::Proxy#to_obj" 
end

def rungen
  YARD::Registry.clear
  YARD::CLI::Yardoc.run('--quiet', '--use-cache') 
end

def redef(lock = false)
  eval <<-eof
    class YARD::CodeObjects::Proxy; 
      def to_obj
        @obj #{lock ? '||' : ''}= YARD::Registry.resolve(@namespace, @name) 
      end 
    end
  eof
end

Benchmark.bmbm do |x|
  x.report("gen-w/o-locking")  { redef;       rungen }
  x.report("gen-with-locking") { redef(true); rungen }
end

=begin Results from 2008-06-07
Rehearsal ----------------------------------------------------
gen-w/o-locking    9.650000   0.450000  10.100000 ( 10.150556)
gen-with-locking   7.790000   0.400000   8.190000 (  8.373811)
------------------------------------------ total: 18.290000sec

                       user     system      total        real
gen-w/o-locking    9.820000   0.430000  10.250000 ( 10.293283)
gen-with-locking   7.820000   0.380000   8.200000 (  8.243326)
=end

Version data entries

56 entries across 56 versions & 4 rubygems

Version Path
challah-0.6.2 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.6.1 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.6.0 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.5.4 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.5.3 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.5.2 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.5.1 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.5.0 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.4.1 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.4.0 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.5 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.4 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.3 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.2 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.1 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.3.0 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.2.1 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
challah-0.2.0 vendor/bundle/gems/yard-0.7.5/benchmarks/generation.rb
yard-0.7.5 benchmarks/generation.rb
nutshell-crm-0.0.6.alpha vendor/bundle/gems/yard-0.7.4/benchmarks/generation.rb