summaryrefslogtreecommitdiff
path: root/benchmark/time_xmlschema.yml
blob: 654e5cfcbc3bcd0359bd9e87f81cad8106578c65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
prelude: |
  # frozen_string_literal
  unless Time.method_defined?(:xmlschema)
    class Time
      def xmlschema(fraction_digits=0)
        fraction_digits = fraction_digits.to_i
        s = strftime("%FT%T")
        if fraction_digits > 0
          s << strftime(".%#{fraction_digits}N")
        end
        s << (utc? ? 'Z' : strftime("%:z"))
      end
    end
  end
  time = Time.now
  utc_time = Time.now.utc
  fraction_sec = Time.at(123456789.quo(9999999999)).getlocal("+09:00")
  future_time = Time.utc(10000)
benchmark:
  - time.xmlschema
  - utc_time.xmlschema
  - time.xmlschema(6)
  - utc_time.xmlschema(6)
  - time.xmlschema(9)
  - utc_time.xmlschema(9)
  - fraction_sec.xmlschema(10)
  - future_time.xmlschema