added more benchmarks for special cases

This commit is contained in:
Adam Meehan 2008-07-23 12:35:06 +10:00
parent 2be6c639d6
commit 057014fcb2

View File

@ -5,18 +5,74 @@ require 'rubygems'
require 'active_support' require 'active_support'
require 'active_record' require 'active_record'
require 'action_controller' require 'action_controller'
require 'rails/version'
$: << 'lib' $: << 'lib'
require 'lib/validates_timeliness' require 'lib/validates_timeliness'
n = 10000 n = 10000
Benchmark.bm do |x| Benchmark.bm do |x|
x.report('timeliness') { x.report('timeliness - datetime') {
n.times do n.times do
ActiveRecord::Base.timeliness_date_time_parse("2000-01-04 12:12:12", :datetime) ActiveRecord::Base.timeliness_date_time_parse("2000-01-04 12:12:12", :datetime)
end end
} }
x.report('timeliness - date') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("2000-01-04", :date)
end
}
x.report('timeliness - date as datetime') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("2000-01-04", :datetime)
end
}
x.report('timeliness - time') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("12:01:02", :time)
end
}
x.report('timeliness - invalid format datetime') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("20xx-01-04 12:12:12", :datetime)
end
}
x.report('timeliness - invalid format date') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("20xx-01-04", :date)
end
}
x.report('timeliness - invalid format time') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("12:xx:02", :time)
end
}
x.report('timeliness - invalid value datetime') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("2000-01-32 12:12:12", :datetime)
end
}
x.report('timeliness - invalid value date') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("2000-01-32", :date)
end
}
x.report('timeliness - invalid value time') {
n.times do
ActiveRecord::Base.timeliness_date_time_parse("12:61:02", :time)
end
}
x.report('date/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/