made benchmark fairer for time comparison to ensure valid time must date as well

This commit is contained in:
Adam Meehan 2008-07-22 12:18:57 +10:00
parent 2464540264
commit b6187b5b50

View File

@ -2,11 +2,10 @@ require 'date'
require 'parsedate' require 'parsedate'
require 'benchmark' require 'benchmark'
require 'rubygems' require 'rubygems'
require 'rails/version'
require 'active_support' require 'active_support'
require 'active_record' require 'active_record'
require 'action_controller' require 'action_controller'
require 'action_view'
$: << 'lib' $: << 'lib'
require 'lib/validates_timeliness' require 'lib/validates_timeliness'
@ -18,10 +17,12 @@ Benchmark.bm do |x|
end end
} }
x.report('time') { x.report('date/time') {
n.times do n.times do
"2000-01-04 12:12:12" =~ /\A(\d{4})-(\d{2})-(\d{2}) (\d{2})[\. :](\d{2})([\. :](\d{2}))?\Z/ "2000-01-04 12:12:12" =~ /\A(\d{4})-(\d{2})-(\d{2}) (\d{2})[\. :](\d{2})([\. :](\d{2}))?\Z/
Time.mktime($1, $2, $3, $3, $5, $6) arr = [$1, $2, $3, $3, $5, $6].map {|i| i.to_i }
Date.new(*arr[0..2])
Time.mktime(*arr)
end end
} }