linux/tools/perf/Documentation/perf-bench.txt
<<
>>
Prefs
   1perf-bench(1)
   2=============
   3
   4NAME
   5----
   6perf-bench - General framework for benchmark suites
   7
   8SYNOPSIS
   9--------
  10[verse]
  11'perf bench' [<common options>] <subsystem> <suite> [<options>]
  12
  13DESCRIPTION
  14-----------
  15This 'perf bench' command is general framework for benchmark suites.
  16
  17COMMON OPTIONS
  18--------------
  19-f::
  20--format=::
  21Specify format style.
  22Current available format styles are:
  23
  24'default'::
  25Default style. This is mainly for human reading.
  26---------------------
  27% perf bench sched pipe                      # with no style specified
  28(executing 1000000 pipe operations between two tasks)
  29        Total time:5.855 sec
  30                5.855061 usecs/op
  31                170792 ops/sec
  32---------------------
  33
  34'simple'::
  35This simple style is friendly for automated
  36processing by scripts.
  37---------------------
  38% perf bench --format=simple sched pipe      # specified simple
  395.988
  40---------------------
  41
  42SUBSYSTEM
  43---------
  44
  45'sched'::
  46        Scheduler and IPC mechanisms.
  47
  48SUITES FOR 'sched'
  49~~~~~~~~~~~~~~~~~~
  50*messaging*::
  51Suite for evaluating performance of scheduler and IPC mechanisms.
  52Based on hackbench by Rusty Russell.
  53
  54Options of *pipe*
  55^^^^^^^^^^^^^^^^^
  56-p::
  57--pipe::
  58Use pipe() instead of socketpair()
  59
  60-t::
  61--thread::
  62Be multi thread instead of multi process
  63
  64-g::
  65--group=::
  66Specify number of groups
  67
  68-l::
  69--loop=::
  70Specify number of loops
  71
  72Example of *messaging*
  73^^^^^^^^^^^^^^^^^^^^^^
  74
  75---------------------
  76% perf bench sched messaging                 # run with default
  77options (20 sender and receiver processes per group)
  78(10 groups == 400 processes run)
  79
  80      Total time:0.308 sec
  81
  82% perf bench sched messaging -t -g 20        # be multi-thread, with 20 groups
  83(20 sender and receiver threads per group)
  84(20 groups == 800 threads run)
  85
  86      Total time:0.582 sec
  87---------------------
  88
  89*pipe*::
  90Suite for pipe() system call.
  91Based on pipe-test-1m.c by Ingo Molnar.
  92
  93Options of *pipe*
  94^^^^^^^^^^^^^^^^^
  95-l::
  96--loop=::
  97Specify number of loops.
  98
  99Example of *pipe*
 100^^^^^^^^^^^^^^^^^
 101
 102---------------------
 103% perf bench sched pipe
 104(executing 1000000 pipe operations between two tasks)
 105
 106        Total time:8.091 sec
 107                8.091833 usecs/op
 108                123581 ops/sec
 109
 110% perf bench sched pipe -l 1000              # loop 1000
 111(executing 1000 pipe operations between two tasks)
 112
 113        Total time:0.016 sec
 114                16.948000 usecs/op
 115                59004 ops/sec
 116---------------------
 117
 118SEE ALSO
 119--------
 120linkperf:perf[1]
 121