| perf-bench(1) |
| ============ |
| |
| NAME |
| ---- |
| perf-bench - General framework for benchmark suites |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'perf bench' [<common options>] <subsystem> <suite> [<options>] |
| |
| DESCRIPTION |
| ----------- |
| This 'perf bench' command is general framework for benchmark suites. |
| |
| COMMON OPTIONS |
| -------------- |
| -f:: |
| --format=:: |
| Specify format style. |
| Current available format styles are: |
| |
| 'default':: |
| Default style. This is mainly for human reading. |
| --------------------- |
| % 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':: |
| This simple style is friendly for automated |
| processing by scripts. |
| --------------------- |
| % perf bench --format=simple sched pipe # specified simple |
| 5.988 |
| --------------------- |
| |
| SUBSYSTEM |
| --------- |
| |
| 'sched':: |
| Scheduler and IPC mechanisms. |
| |
| SUITES FOR 'sched' |
| ~~~~~~~~~~~~~~~~~~ |
| *messaging*:: |
| Suite for evaluating performance of scheduler and IPC mechanisms. |
| Based on hackbench by Rusty Russell. |
| |
| Options of *pipe* |
| ^^^^^^^^^^^^^^^^^ |
| -p:: |
| --pipe:: |
| Use pipe() instead of socketpair() |
| |
| -t:: |
| --thread:: |
| Be multi thread instead of multi process |
| |
| -g:: |
| --group=:: |
| Specify number of groups |
| |
| -l:: |
| --loop=:: |
| Specify number of 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*:: |
| Suite for pipe() system call. |
| Based on pipe-test-1m.c by Ingo Molnar. |
| |
| Options of *pipe* |
| ^^^^^^^^^^^^^^^^^ |
| -l:: |
| --loop=:: |
| Specify number of loops. |
| |
| 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 |
| --------------------- |
| |
| SEE ALSO |
| -------- |
| linkperf:perf[1] |