• Ingo Molnar's avatar
    perf stat: Add feature to run and measure a command multiple times · 42202dd5
    Ingo Molnar authored
    Add the --repeat <n> feature to perf stat, which repeats a given
    command up to a 100 times, collects the stats and calculates an
    average and a stddev.
    
    For example, the following oneliner 'perf stat' command runs hackbench
    5 times and prints a tabulated result of all metrics, with averages
    and noise levels (in percentage) printed:
    
     aldebaran:~/linux/linux/tools/perf> ./perf stat --repeat 5 ~/hackbench 10
     Time: 0.117
     Time: 0.108
     Time: 0.089
     Time: 0.088
     Time: 0.100
    
     Performance counter stats for '/home/mingo/hackbench 10' (5 runs):
    
        1243.989586  task-clock-msecs     #     10.460 CPUs    ( +-   4.720% )
              47706  context-switches     #      0.038 M/sec   ( +-  19.706% )
                387  CPU-migrations       #      0.000 M/sec   ( +-   3.608% )
              17793  page-faults          #      0.014 M/sec   ( +-   0.354% )
         3770941606  cycles               #   3031.329 M/sec   ( +-   4.621% )
         1566372416  instructions         #      0.415 IPC     ( +-   2.703% )
           16783421  cache-references     #     13.492 M/sec   ( +-   5.202% )
            7128590  cache-misses         #      5.730 M/sec   ( +-   7.420% )
    
        0.118924455  seconds time elapsed.
    
    The goal of this feature is to allow the reliance on these accurate
    statistics and to know how many times a command has to be repeated
    for the noise to go down to an acceptable level.
    
    (The -v option can be used to see a line printed out as each run progresses.)
    
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    42202dd5
builtin-stat.c 12.2 KB