Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
v6.2
  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 a general framework for benchmark suites.
 16
 17COMMON OPTIONS
 18--------------
 19-r::
 20--repeat=::
 21Specify amount of times to repeat the run (default 10).
 22
 23-f::
 24--format=::
 25Specify format style.
 26Current available format styles are:
 27
 28'default'::
 29Default style. This is mainly for human reading.
 30---------------------
 31% perf bench sched pipe                      # with no style specified
 32(executing 1000000 pipe operations between two tasks)
 33        Total time:5.855 sec
 34                5.855061 usecs/op
 35		170792 ops/sec
 36---------------------
 37
 38'simple'::
 39This simple style is friendly for automated
 40processing by scripts.
 41---------------------
 42% perf bench --format=simple sched pipe      # specified simple
 435.988
 44---------------------
 45
 46SUBSYSTEM
 47---------
 48
 49'sched'::
 50	Scheduler and IPC mechanisms.
 51
 52'syscall'::
 53	System call performance (throughput).
 54
 55'mem'::
 56	Memory access performance.
 57
 58'numa'::
 59	NUMA scheduling and MM benchmarks.
 60
 61'futex'::
 62	Futex stressing benchmarks.
 63
 64'epoll'::
 65	Eventpoll (epoll) stressing benchmarks.
 66
 67'internals'::
 68	Benchmark internal perf functionality.
 69
 70'all'::
 71	All benchmark subsystems.
 72
 73SUITES FOR 'sched'
 74~~~~~~~~~~~~~~~~~~
 75*messaging*::
 76Suite for evaluating performance of scheduler and IPC mechanisms.
 77Based on hackbench by Rusty Russell.
 78
 79Options of *messaging*
 80^^^^^^^^^^^^^^^^^^^^^^
 81-p::
 82--pipe::
 83Use pipe() instead of socketpair()
 84
 85-t::
 86--thread::
 87Be multi thread instead of multi process
 88
 89-g::
 90--group=::
 91Specify number of groups
 92
 93-l::
 94--nr_loops=::
 95Specify number of loops
 96
 97Example of *messaging*
 98^^^^^^^^^^^^^^^^^^^^^^
 99
100---------------------
101% perf bench sched messaging                 # run with default
102options (20 sender and receiver processes per group)
103(10 groups == 400 processes run)
104
105      Total time:0.308 sec
106
107% perf bench sched messaging -t -g 20        # be multi-thread, with 20 groups
108(20 sender and receiver threads per group)
109(20 groups == 800 threads run)
110
111      Total time:0.582 sec
112---------------------
113
114*pipe*::
115Suite for pipe() system call.
116Based on pipe-test-1m.c by Ingo Molnar.
117
118Options of *pipe*
119^^^^^^^^^^^^^^^^^
120-l::
121--loop=::
122Specify number of loops.
123
124Example of *pipe*
125^^^^^^^^^^^^^^^^^
126
127---------------------
128% perf bench sched pipe
129(executing 1000000 pipe operations between two tasks)
130
131        Total time:8.091 sec
132                8.091833 usecs/op
133                123581 ops/sec
134
135% perf bench sched pipe -l 1000              # loop 1000
136(executing 1000 pipe operations between two tasks)
137
138        Total time:0.016 sec
139                16.948000 usecs/op
140                59004 ops/sec
141---------------------
142
143SUITES FOR 'syscall'
144~~~~~~~~~~~~~~~~~~
145*basic*::
146Suite for evaluating performance of core system call throughput (both usecs/op and ops/sec metrics).
147This uses a single thread simply doing getppid(2), which is a simple syscall where the result is not
148cached by glibc.
149
150
151SUITES FOR 'mem'
152~~~~~~~~~~~~~~~~
153*memcpy*::
154Suite for evaluating performance of simple memory copy in various ways.
155
156Options of *memcpy*
157^^^^^^^^^^^^^^^^^^^
158-l::
159--size::
160Specify size of memory to copy (default: 1MB).
161Available units are B, KB, MB, GB and TB (case insensitive).
162
163-f::
164--function::
165Specify function to copy (default: default).
166Available functions are depend on the architecture.
167On x86-64, x86-64-unrolled, x86-64-movsq and x86-64-movsb are supported.
168
169-l::
170--nr_loops::
171Repeat memcpy invocation this number of times.
172
173-c::
174--cycles::
175Use perf's cpu-cycles event instead of gettimeofday syscall.
176
177*memset*::
178Suite for evaluating performance of simple memory set in various ways.
179
180Options of *memset*
181^^^^^^^^^^^^^^^^^^^
182-l::
183--size::
184Specify size of memory to set (default: 1MB).
185Available units are B, KB, MB, GB and TB (case insensitive).
186
187-f::
188--function::
189Specify function to set (default: default).
190Available functions are depend on the architecture.
191On x86-64, x86-64-unrolled, x86-64-stosq and x86-64-stosb are supported.
192
193-l::
194--nr_loops::
195Repeat memset invocation this number of times.
196
197-c::
198--cycles::
199Use perf's cpu-cycles event instead of gettimeofday syscall.
200
201SUITES FOR 'numa'
202~~~~~~~~~~~~~~~~~
203*mem*::
204Suite for evaluating NUMA workloads.
205
206SUITES FOR 'futex'
207~~~~~~~~~~~~~~~~~~
208*hash*::
209Suite for evaluating hash tables.
210
211*wake*::
212Suite for evaluating wake calls.
213
214*wake-parallel*::
215Suite for evaluating parallel wake calls.
216
217*requeue*::
218Suite for evaluating requeue calls.
219
220*lock-pi*::
221Suite for evaluating futex lock_pi calls.
222
223SUITES FOR 'epoll'
224~~~~~~~~~~~~~~~~~~
225*wait*::
226Suite for evaluating concurrent epoll_wait calls.
227
228*ctl*::
229Suite for evaluating multiple epoll_ctl calls.
230
231SUITES FOR 'internals'
232~~~~~~~~~~~~~~~~~~~~~~
233*synthesize*::
234Suite for evaluating perf's event synthesis performance.
235
236SEE ALSO
237--------
238linkperf:perf[1]
v3.1
  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]