Home | History | Annotate | Download | only in Documentation
      1 perf-bench(1)
      2 =============
      3 
      4 NAME
      5 ----
      6 perf-bench - General framework for benchmark suites
      7 
      8 SYNOPSIS
      9 --------
     10 [verse]
     11 'perf bench' [<common options>] <subsystem> <suite> [<options>]
     12 
     13 DESCRIPTION
     14 -----------
     15 This 'perf bench' command is general framework for benchmark suites.
     16 
     17 COMMON OPTIONS
     18 --------------
     19 -f::
     20 --format=::
     21 Specify format style.
     22 Current available format styles are:
     23 
     24 'default'::
     25 Default 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'::
     35 This simple style is friendly for automated
     36 processing by scripts.
     37 ---------------------
     38 % perf bench --format=simple sched pipe      # specified simple
     39 5.988
     40 ---------------------
     41 
     42 SUBSYSTEM
     43 ---------
     44 
     45 'sched'::
     46 	Scheduler and IPC mechanisms.
     47 
     48 SUITES FOR 'sched'
     49 ~~~~~~~~~~~~~~~~~~
     50 *messaging*::
     51 Suite for evaluating performance of scheduler and IPC mechanisms.
     52 Based on hackbench by Rusty Russell.
     53 
     54 Options of *pipe*
     55 ^^^^^^^^^^^^^^^^^
     56 -p::
     57 --pipe::
     58 Use pipe() instead of socketpair()
     59 
     60 -t::
     61 --thread::
     62 Be multi thread instead of multi process
     63 
     64 -g::
     65 --group=::
     66 Specify number of groups
     67 
     68 -l::
     69 --loop=::
     70 Specify number of loops
     71 
     72 Example of *messaging*
     73 ^^^^^^^^^^^^^^^^^^^^^^
     74 
     75 ---------------------
     76 % perf bench sched messaging                 # run with default
     77 options (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*::
     90 Suite for pipe() system call.
     91 Based on pipe-test-1m.c by Ingo Molnar.
     92 
     93 Options of *pipe*
     94 ^^^^^^^^^^^^^^^^^
     95 -l::
     96 --loop=::
     97 Specify number of loops.
     98 
     99 Example 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 
    118 SEE ALSO
    119 --------
    120 linkperf:perf[1]
    121