table of contents
PERF_5.16-BENCH(1) | perf Manual | PERF_5.16-BENCH(1) |
NAME¶
perf-bench - General framework for benchmark suites
SYNOPSIS¶
perf bench [<common options>] <subsystem> <suite> [<options>]
DESCRIPTION¶
This perf bench command is a general framework for benchmark suites.
COMMON OPTIONS¶
-r, --repeat=
-f, --format=
default
% perf bench sched pipe # with no style specified (executing 1000000 pipe operations between two tasks)
Total time:5.855 sec
5.855061 usecs/op
170792 ops/sec
simple
% perf bench --format=simple sched pipe # specified simple 5.988
SUBSYSTEM¶
sched
syscall
mem
numa
futex
epoll
internals
all
SUITES FOR sched¶
messaging
Options of messaging¶
-p, --pipe
-t, --thread
-g, --group=
-l, --nr_loops=
Example of messaging¶
% perf bench sched messaging # run with default options (20 sender and receiver processes per group) (10 groups == 400 processes run)
Total time:0.308 sec % perf bench sched messaging -t -g 20 # be multi-thread, with 20 groups (20 sender and receiver threads per group) (20 groups == 800 threads run)
Total time:0.582 sec
pipe
Options of pipe¶
-l, --loop=
Example of pipe¶
% perf bench sched pipe (executing 1000000 pipe operations between two tasks)
Total time:8.091 sec
8.091833 usecs/op
123581 ops/sec % perf bench sched pipe -l 1000 # loop 1000 (executing 1000 pipe operations between two tasks)
Total time:0.016 sec
16.948000 usecs/op
59004 ops/sec
SUITES FOR syscall ~~~~~~ basic:: Suite for evaluating performance of core system call throughput (both usecs/op and ops/sec metrics). This uses a single thread simply doing getppid(2), which is a simple syscall where the result is not cached by glibc.
SUITES FOR mem¶
memcpy
Options of memcpy¶
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
memset
Options of memset¶
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
SUITES FOR numa¶
mem
SUITES FOR futex¶
hash
wake
wake-parallel
requeue
lock-pi
SUITES FOR epoll¶
wait
ctl
SUITES FOR internals¶
synthesize
SEE ALSO¶
perf(1)
2022-01-03 | perf |