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