mirror of
https://github.com/ditkrg/validates_timeliness.git
synced 2026-01-22 22:06:45 +00:00
added more benchmarks for special cases
This commit is contained in:
parent
2be6c639d6
commit
057014fcb2
58
benchmark.rb
58
benchmark.rb
@ -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/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user