From 8d558cb1b069410c8f693295c9c4e2ffc9661e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A7alo=20Silva?= Date: Sun, 3 Apr 2011 03:16:35 +0100 Subject: don't use internal profiler methods on Rubinius and JRuby since we're only measuring wall clock for now (and the APIs will/can change, respectively) --- activesupport/lib/active_support/testing/performance.rb | 6 ++++++ activesupport/lib/active_support/testing/performance/jruby.rb | 8 ++++---- activesupport/lib/active_support/testing/performance/rubinius.rb | 8 ++++---- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/testing/performance.rb b/activesupport/lib/active_support/testing/performance.rb index 5e9bc40976..598eb330eb 100644 --- a/activesupport/lib/active_support/testing/performance.rb +++ b/activesupport/lib/active_support/testing/performance.rb @@ -126,6 +126,12 @@ module ActiveSupport end end + def time_with_block + before = Time.now + yield + Time.now - before + end + def run; end def record; end end diff --git a/activesupport/lib/active_support/testing/performance/jruby.rb b/activesupport/lib/active_support/testing/performance/jruby.rb index 9beadba310..6b27959840 100644 --- a/activesupport/lib/active_support/testing/performance/jruby.rb +++ b/activesupport/lib/active_support/testing/performance/jruby.rb @@ -27,11 +27,11 @@ module ActiveSupport def run return unless @supported - @data = JRuby::Profiler.profile do - full_profile_options[:runs].to_i.times { run_test(@metric, :profile) } + @total = time_with_block do + @data = JRuby::Profiler.profile do + full_profile_options[:runs].to_i.times { run_test(@metric, :profile) } + end end - - @total = @data.getDuration / 1000 / 1000 / 1000.0 # seconds end def record diff --git a/activesupport/lib/active_support/testing/performance/rubinius.rb b/activesupport/lib/active_support/testing/performance/rubinius.rb index fafa782e8d..fbb58a2b3a 100644 --- a/activesupport/lib/active_support/testing/performance/rubinius.rb +++ b/activesupport/lib/active_support/testing/performance/rubinius.rb @@ -29,11 +29,11 @@ module ActiveSupport @profiler = Rubinius::Profiler::Instrumenter.new - @profiler.profile(false) do - full_profile_options[:runs].to_i.times { run_test(@metric, :profile) } + @total = time_with_block do + @profiler.profile(false) do + full_profile_options[:runs].to_i.times { run_test(@metric, :profile) } + end end - - @total = @profiler.info[:runtime] / 1000 / 1000 / 1000.0 # seconds end def record -- cgit v1.2.3