parent
76517175e7
commit
0dee66260f
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
require_relative '../lib/jekyll'
|
||||||
|
require 'benchmark/ips'
|
||||||
|
|
||||||
|
date = "2014-08-02 14:43:06 PDT".freeze
|
||||||
|
time = Time.parse(date)
|
||||||
|
|
||||||
|
Benchmark.ips do |x|
|
||||||
|
x.report('Time.parse') do
|
||||||
|
Time.parse(date)
|
||||||
|
end
|
||||||
|
|
||||||
|
x.report('localtime') do
|
||||||
|
Time.parse(date).localtime
|
||||||
|
end
|
||||||
|
|
||||||
|
x.report('localtime parsed') do
|
||||||
|
time.localtime
|
||||||
|
end
|
||||||
|
|
||||||
|
x.report('Utils.parse_date') do
|
||||||
|
Jekyll::Utils.parse_date(date)
|
||||||
|
end
|
||||||
|
end
|
|
@ -128,7 +128,8 @@ module Jekyll
|
||||||
# Returns the parsed date if successful, throws a FatalException
|
# Returns the parsed date if successful, throws a FatalException
|
||||||
# if not
|
# if not
|
||||||
def parse_date(input, msg = "Input could not be parsed.")
|
def parse_date(input, msg = "Input could not be parsed.")
|
||||||
Time.parse(input).localtime
|
@parse_date_cache ||= {}
|
||||||
|
@parse_date_cache[input] ||= Time.parse(input).localtime
|
||||||
rescue ArgumentError
|
rescue ArgumentError
|
||||||
raise Errors::InvalidDateError, "Invalid date '#{input}': #{msg}"
|
raise Errors::InvalidDateError, "Invalid date '#{input}': #{msg}"
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue