From b8eec6b6915e87f341bbb7166eda72694f47f12d Mon Sep 17 00:00:00 2001 From: normal Date: Thu, 11 Sep 2014 08:09:07 +0000 Subject: [PATCH] lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In addition to being unaffected by _offset_ correction, CLOCK_MONOTONIC_RAW is also unaffected by _frequency_ correction, making it unsuitable for measuring real time on systems where the clock is always running too fast or slow. CLOCK_MONOTONIC (without _RAW) is the correct clock, as it is unaffected by _offset_ correction (due to human error or battery replacement), but still takes _frequency_ correction into account for clocks which consistently run too fast or slow. Thanks to Vít Ondruch for reporting the issue on ARM [Bug #10202] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/benchmark.rb | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f7d266cdff..9f3512c6f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Sep 11 17:04:54 2014 Eric Wong + + * lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support + Thanks to Vít Ondruch for reporting the issue on ARM. + [Bug #10202] + Thu Sep 11 14:31:57 2014 Koichi Sasada * include/ruby/ruby.h: freeze nil/true/false. diff --git a/lib/benchmark.rb b/lib/benchmark.rb index 1b08e7d2b3..690dff1c28 100644 --- a/lib/benchmark.rb +++ b/lib/benchmark.rb @@ -272,9 +272,6 @@ module Benchmark # :stopdoc: case - when (defined?(Process::CLOCK_MONOTONIC_RAW) and - (Process.clock_gettime(Process::CLOCK_MONOTONIC_RAW) rescue false)) - BENCHMARK_CLOCK = Process::CLOCK_MONOTONIC_RAW when defined?(Process::CLOCK_MONOTONIC) BENCHMARK_CLOCK = Process::CLOCK_MONOTONIC else