|
@@ -0,0 +1,120 @@
|
|
|
+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 specify
|
|
|
+(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]
|