• Stephane Eranian's avatar
    perf stat: add perf stat -B to pretty print large numbers · 5af52b51
    Stephane Eranian authored
    It is hard to read very large numbers so provide an option to perf stat
    to separate thousands using a separator. The patch leverages the locale
    support of stdio. You need to set your LC_NUMERIC appropriately, for
    instance LC_NUMERIC=en_US.UTF8. You need to pass -B to activate this
    feature. This way existing scripts parsing the output do not need to be
    changed. Here is an example.
    
    $ perf stat noploop 2
    noploop for 2 seconds
    
     Performance counter stats for 'noploop 2':
    
            1998.347031  task-clock-msecs         #      0.998 CPUs
                     61  context-switches         #      0.000 M/sec
                      0  CPU-migrations           #      0.000 M/sec
                    118  page-faults              #      0.000 M/sec
          4,138,410,900  cycles                   #   2070.917 M/sec  (scaled from 70.01%)
          2,062,650,268  instructions             #      0.498 IPC    (scaled from 70.01%)
          2,057,653,466  branches                 #   1029.678 M/sec  (scaled from 70.01%)
                 40,267  branch-misses            #      0.002 %      (scaled from 30.04%)
          2,055,961,348  cache-references         #   1028.831 M/sec  (scaled from 30.03%)
                 53,725  cache-misses             #      0.027 M/sec  (scaled from 30.02%)
    
            2.001393933  seconds time elapsed
    
    $ perf stat -B  noploop 2
    noploop for 2 seconds
    
     Performance counter stats for 'noploop 2':
    
            1998.297883  task-clock-msecs         #      0.998 CPUs
                     59  context-switches         #      0.000 M/sec
                      0  CPU-migrations           #      0.000 M/sec
                    119  page-faults              #      0.000 M/sec
          4,131,380,160  cycles                   #   2067.450 M/sec  (scaled from 70.01%)
          2,059,096,507  instructions             #      0.498 IPC    (scaled from 70.01%)
          2,054,681,303  branches                 #   1028.216 M/sec  (scaled from 70.01%)
                 25,650  branch-misses            #      0.001 %      (scaled from 30.05%)
          2,056,283,014  cache-references         #   1029.017 M/sec  (scaled from 30.03%)
                 47,097  cache-misses             #      0.024 M/sec  (scaled from 30.02%)
    
            2.001391016  seconds time elapsed
    
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Frédéric Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Tom Zanussi <tzanussi@gmail.com>
    LKML-Reference: <4bf28fe8.914ed80a.01ca.fffff5f5@mx.google.com>
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    5af52b51
builtin-stat.c 14.8 KB