Skip to content
  • Herbert Valerio Riedel's avatar
    Increase precision of timings reported by RTS · 57ed4101
    Herbert Valerio Riedel authored
    Summary:
    Today's hardware is much faster, so it makes sense to report timings
    with more precision, and possibly help reduce rounding-induced
    fluctuations in the nofib statistics.
    
    This commit increases the precision of all timings previously reported
    with a granularity of 10ms to 1ms. For instance, the `+RTS -S` output is
    now rendered as:
    
        Alloc    Copied     Live     GC     GC      TOT      TOT  Page Flts
        bytes     bytes     bytes   user   elap     user     elap
       641936     59944    158120  0.000  0.000    0.013    0.001    0    0  (Gen:  0)
       517672     60840    158464  0.000  0.000    0.013    0.002    0    0  (Gen:  0)
       517256     58800    156424  0.005  0.005    0.019    0.007    0    0  (Gen:  1)
       670208      9520    158728  0.000  0.000    0.019    0.008    0    0  (Gen:  0)
    
      ...
    
                                         Tot time (elapsed)  Avg pause  Max pause
      Gen  0        24 colls,     0 par    0.002s   0.002s     0.0001s    0.0002s
      Gen  1         3 colls,     0 par    0.011s   0.011s     0.0038s    0.0055s
    
      TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1)
    
      SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
    
      INIT    time    0.001s  (  0.001s elapsed)
      MUT     time    0.005s  (  0.006s elapsed)
      GC      time    0.014s  (  0.014s elapsed)
      EXIT    time    0.001s  (  0.001s elapsed)
      Total   time    0.032s  (  0.020s elapsed)
    
    Note that this change also requires associated changes in the nofib
    submodule.
    
    Test Plan: tested with modified nofib
    
    Reviewers: simonmar, nomeata, austin
    
    Subscribers: simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D97
    57ed4101