1. 02 7月, 2016 2 次提交
  2. 01 7月, 2016 10 次提交
  3. 30 6月, 2016 15 次提交
  4. 29 6月, 2016 9 次提交
  5. 28 6月, 2016 4 次提交
    • Y
      Use clock_gettime for all performance timestamps · d7b4f36a
      Yorick Peterse 提交于
      Process.clock_gettime allows getting the real time in nanoseconds as
      well as allowing one to get a monotonic timestamp. This offers greater
      accuracy without the overhead of having to allocate a Time instance. In
      general using Time.now/Time.new is about 2x slower than using
      Process.clock_gettime(). For example:
      
          require 'benchmark/ips'
      
          Benchmark.ips do |bench|
            bench.report 'Time.now' do
              Time.now.to_f
            end
      
            bench.report 'clock_gettime' do
              Process.clock_gettime(Process::CLOCK_MONOTONIC, :millisecond)
            end
      
            bench.compare!
          end
      
      Running this benchmark gives:
      
          Calculating -------------------------------------
                      Time.now   108.052k i/100ms
                 clock_gettime   125.984k i/100ms
          -------------------------------------------------
                      Time.now      2.343M (± 7.1%) i/s -     11.670M
                 clock_gettime      4.979M (± 0.8%) i/s -     24.945M
      
          Comparison:
                 clock_gettime:  4979393.8 i/s
                      Time.now:  2342986.8 i/s - 2.13x slower
      
      Another benefit of using Process.clock_gettime() is that we can simplify
      the code a bit since it can give timestamps in nanoseconds out of the
      box.
      d7b4f36a
    • Z
      Workhorse to serve email diffs · c31f876a
      Z.J. van de Weg 提交于
      Depends on the changes in Workhorse (gitlab-org/gitlab-workhorse!48).
      c31f876a
    • L
      deb5509f
    • L