SYNOPSIS
perf bench [<common options>] <subsystem> <suite> [<options>]
DESCRIPTION
This perf bench command is a general framework for benchmark suites.
COMMON OPTIONS
-r, --repeat=
- Specify amount of times to repeat the run (default 10).
-f, --format=
- Specify format style. Current available format styles are:
default
- Default style. This is mainly for human reading.
-
.ft C % 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 .ft
simple
- This simple style is friendly for automated processing by scripts.
-
.ft C % perf bench --format=simple sched pipe # specified simple 5.988 .ft
SUBSYSTEM
sched
- Scheduler and IPC mechanisms.
mem
- Memory access performance.
numa
- NUMA scheduling and MM benchmarks.
futex
- Futex stressing benchmarks.
all
- All benchmark subsystems.
SUITES FOR sched
messaging
- Suite for evaluating performance of scheduler and IPC mechanisms. Based on hackbench by Rusty Russell.
-p, --pipe
-t, --thread
-g, --group=
-l, --nr_loops=
Options of messaging
.ft C % 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 .ft
pipe
- Suite for pipe() system call. Based on pipe-test-1m.c by Ingo Molnar.
-l, --loop=
Options of pipe
.ft C % 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 .ft
SUITES FOR mem
memcpy
- Suite for evaluating performance of simple memory copy in various ways.
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
memset
-l, --size
-f, --function
-l, --nr_loops
-c, --cycles
Options of memcpy
SUITES FOR numa
mem
- Suite for evaluating NUMA workloads.
SUITES FOR futex
hash
- Suite for evaluating hash tables.
wake
- Suite for evaluating wake calls.
wake-parallel
- Suite for evaluating parallel wake calls.
requeue
- Suite for evaluating requeue calls.
lock-pi
- Suite for evaluating futex lock_pi calls.