| PERF-BENCH(1) | perf Manual | PERF-BENCH(1) |
perf-bench - General framework for benchmark suites
perf bench [<common options>] <subsystem> <suite> [<options>]
This perf bench command is a general framework for benchmark suites.
-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
sched
syscall
mem
numa
futex
epoll
internals
uprobe
all
messaging
-p, --pipe
-t, --thread
-g, --group=
-l, --nr_loops=
% 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
-l, --loop=
-G, --cgroups=
% 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
% perf bench sched pipe -G AAA,BBB
(executing 1000000 pipe operations between cgroups)
# Running 'sched/pipe' benchmark:
# Executed 1000000 pipe operations between two processes
Total time: 6.886 [sec]
6.886208 usecs/op
145217 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.
memcpy
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
memset
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
mem
hash
wake
wake-parallel
requeue
lock-pi
wait
ctl
synthesize
perf(1)
| 2025-01-18 | perf |