Skip to content
Snippets Groups Projects
Select Git revision
  • ag-test
  • rs-test
  • master default protected
  • test-me-pa
  • mksionek-master-patch-52381
  • new-branch-10
  • test-conflicts
  • test-suggestions
  • alejandro-test
  • patch-25
  • winh-test-image-doscussion
  • stg-lfs-image-test-2
  • stg-lfs-image-test
  • test42016
  • issue_42016
  • issue-32709
  • add-codeowners
  • ClemMakesApps-master-patch-62759
  • bvl-staging-test
  • bvl-merge-base-api
  • v9.2.0-rc6 protected
  • v9.2.0-rc5 protected
  • v9.2.0-rc4 protected
  • v9.2.0-rc3 protected
  • v9.1.4 protected
  • v9.2.0-rc2 protected
  • v9.2.0-rc1 protected
  • v9.1.3 protected
  • v8.17.6 protected
  • v9.0.7 protected
  • v9.1.2 protected
  • v9.1.1 protected
  • v9.2.0.pre protected
  • v9.1.0 protected
  • v9.1.0-rc7 protected
  • v9.1.0-rc6 protected
  • v9.0.6 protected
  • v9.1.0-rc5 protected
  • v9.1.0-rc4 protected
  • v9.1.0-rc3 protected
40 results

shared

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Yorick Peterse authored
    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
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Name Last commit Last update
    ..