2009-11-10 19:50:54 +08:00
|
|
|
perf-bench(1)
|
2010-05-05 22:23:27 +08:00
|
|
|
=============
|
2009-11-10 19:50:54 +08:00
|
|
|
|
|
|
|
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.
|
2010-04-01 02:31:00 +08:00
|
|
|
Current available format styles are:
|
2009-11-10 19:50:54 +08:00
|
|
|
|
|
|
|
'default'::
|
|
|
|
Default style. This is mainly for human reading.
|
|
|
|
---------------------
|
2010-04-01 02:31:00 +08:00
|
|
|
% perf bench sched pipe # with no style specified
|
2009-11-10 19:50:54 +08:00
|
|
|
(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
|
|
|
|
|
2010-04-01 02:31:00 +08:00
|
|
|
% perf bench sched messaging -t -g 20 # be multi-thread, with 20 groups
|
2009-11-10 19:50:54 +08:00
|
|
|
(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]
|