diff options
author | Gonçalo Silva <goncalossilva@gmail.com> | 2011-03-25 19:03:59 +0000 |
---|---|---|
committer | Gonçalo Silva <goncalossilva@gmail.com> | 2011-03-25 19:10:47 +0000 |
commit | 278344b3fab67fcc471f475992a86c3748a83e23 (patch) | |
tree | a9f2c6dcfcad3ceaeb22d43c5cbbcd9bb52ac88d | |
parent | 417b2baf0fafc48dbfdab8a81b15836599a0613e (diff) | |
download | rails-278344b3fab67fcc471f475992a86c3748a83e23.tar.gz rails-278344b3fab67fcc471f475992a86c3748a83e23.tar.bz2 rails-278344b3fab67fcc471f475992a86c3748a83e23.zip |
fixed time and size units (should be seconds / bytes), fixed typo when counting memory allocations under rubinius
4 files changed, 10 insertions, 11 deletions
diff --git a/activesupport/lib/active_support/testing/performance/rubinius.rb b/activesupport/lib/active_support/testing/performance/rubinius.rb index ef4d2bd493..b9c7061571 100644 --- a/activesupport/lib/active_support/testing/performance/rubinius.rb +++ b/activesupport/lib/active_support/testing/performance/rubinius.rb @@ -9,19 +9,18 @@ module ActiveSupport end module Metrics - class Base + class Base + attr_reader :loopback + # TODO def profile yield end - - def loopback - @loopback ||= Rubinius::Agent.loopback - end protected # overridden by each implementation def with_gc_stats + @loopback = Rubinius::Agent.loopback GC.run(true) yield end @@ -53,7 +52,7 @@ module ActiveSupport class Objects < Amount def measure - loopback.get("system.memory.counter.bytes").last + loopback.get("system.memory.counter.objects").last end end @@ -65,7 +64,7 @@ module ActiveSupport class GcTime < Time def measure - loopback.get("system.gc.full.wallclock").last + loopback.get("system.gc.young.wallclock").last + (loopback.get("system.gc.full.wallclock").last + loopback.get("system.gc.young.wallclock").last) / 1000.0 end end end diff --git a/activesupport/lib/active_support/testing/performance/ruby.rb b/activesupport/lib/active_support/testing/performance/ruby.rb index f786b85925..892baceeb2 100644 --- a/activesupport/lib/active_support/testing/performance/ruby.rb +++ b/activesupport/lib/active_support/testing/performance/ruby.rb @@ -1,7 +1,7 @@ begin require 'ruby-prof' rescue LoadError - $stderr.puts "Specify ruby-prof as application's dependency in Gemfile to run benchmarks." + $stderr.puts 'Specify ruby-prof as application\'s dependency in Gemfile to run benchmarks.' exit end diff --git a/activesupport/lib/active_support/testing/performance/ruby/mri.rb b/activesupport/lib/active_support/testing/performance/ruby/mri.rb index d12482b58f..5fa0269b6a 100644 --- a/activesupport/lib/active_support/testing/performance/ruby/mri.rb +++ b/activesupport/lib/active_support/testing/performance/ruby/mri.rb @@ -19,7 +19,7 @@ module ActiveSupport # Ruby 1.8 + ruby-prof wrapper if RubyProf.respond_to?(:measure_memory) def measure - RubyProf.measure_memory / 1024.0 + RubyProf.measure_memory end end end @@ -48,7 +48,7 @@ module ActiveSupport # Ruby 1.8 + ruby-prof wrapper if RubyProf.respond_to?(:measure_gc_time) def measure - RubyProf.measure_gc_time / 1000 + RubyProf.measure_gc_time / 1000.0 / 1000.0 end end end diff --git a/activesupport/lib/active_support/testing/performance/ruby/yarv.rb b/activesupport/lib/active_support/testing/performance/ruby/yarv.rb index 1e6fa2f289..d226e75d0d 100644 --- a/activesupport/lib/active_support/testing/performance/ruby/yarv.rb +++ b/activesupport/lib/active_support/testing/performance/ruby/yarv.rb @@ -20,7 +20,7 @@ module ActiveSupport # Ruby 1.9 + GCdata patch if GC.respond_to?(:malloc_allocated_size) def measure - GC.malloc_allocated_size / 1024.0 + GC.malloc_allocated_size end end end |