]>
Commit | Line | Data |
---|---|---|
9fbc04f2 | 1 | perf-bench(1) |
4778e0e8 | 2 | ============= |
9fbc04f2 HM |
3 | |
4 | NAME | |
5 | ---- | |
6 | perf-bench - General framework for benchmark suites | |
7 | ||
8 | SYNOPSIS | |
9 | -------- | |
10 | [verse] | |
11 | 'perf bench' [<common options>] <subsystem> <suite> [<options>] | |
12 | ||
13 | DESCRIPTION | |
14 | ----------- | |
15 | This 'perf bench' command is general framework for benchmark suites. | |
16 | ||
17 | COMMON OPTIONS | |
18 | -------------- | |
19 | -f:: | |
20 | --format=:: | |
21 | Specify format style. | |
854c5548 | 22 | Current available format styles are: |
9fbc04f2 HM |
23 | |
24 | 'default':: | |
25 | Default style. This is mainly for human reading. | |
26 | --------------------- | |
854c5548 | 27 | % perf bench sched pipe # with no style specified |
9fbc04f2 HM |
28 | (executing 1000000 pipe operations between two tasks) |
29 | Total time:5.855 sec | |
30 | 5.855061 usecs/op | |
31 | 170792 ops/sec | |
32 | --------------------- | |
33 | ||
34 | 'simple':: | |
35 | This simple style is friendly for automated | |
36 | processing by scripts. | |
37 | --------------------- | |
38 | % perf bench --format=simple sched pipe # specified simple | |
39 | 5.988 | |
40 | --------------------- | |
41 | ||
42 | SUBSYSTEM | |
43 | --------- | |
44 | ||
45 | 'sched':: | |
46 | Scheduler and IPC mechanisms. | |
47 | ||
48 | SUITES FOR 'sched' | |
49 | ~~~~~~~~~~~~~~~~~~ | |
50 | *messaging*:: | |
51 | Suite for evaluating performance of scheduler and IPC mechanisms. | |
52 | Based on hackbench by Rusty Russell. | |
53 | ||
54 | Options of *pipe* | |
55 | ^^^^^^^^^^^^^^^^^ | |
56 | -p:: | |
57 | --pipe:: | |
58 | Use pipe() instead of socketpair() | |
59 | ||
60 | -t:: | |
61 | --thread:: | |
62 | Be multi thread instead of multi process | |
63 | ||
64 | -g:: | |
65 | --group=:: | |
66 | Specify number of groups | |
67 | ||
68 | -l:: | |
69 | --loop=:: | |
70 | Specify number of loops | |
71 | ||
72 | Example of *messaging* | |
73 | ^^^^^^^^^^^^^^^^^^^^^^ | |
74 | ||
75 | --------------------- | |
76 | % perf bench sched messaging # run with default | |
77 | options (20 sender and receiver processes per group) | |
78 | (10 groups == 400 processes run) | |
79 | ||
80 | Total time:0.308 sec | |
81 | ||
854c5548 | 82 | % perf bench sched messaging -t -g 20 # be multi-thread, with 20 groups |
9fbc04f2 HM |
83 | (20 sender and receiver threads per group) |
84 | (20 groups == 800 threads run) | |
85 | ||
86 | Total time:0.582 sec | |
87 | --------------------- | |
88 | ||
89 | *pipe*:: | |
90 | Suite for pipe() system call. | |
91 | Based on pipe-test-1m.c by Ingo Molnar. | |
92 | ||
93 | Options of *pipe* | |
94 | ^^^^^^^^^^^^^^^^^ | |
95 | -l:: | |
96 | --loop=:: | |
97 | Specify number of loops. | |
98 | ||
99 | Example of *pipe* | |
100 | ^^^^^^^^^^^^^^^^^ | |
101 | ||
102 | --------------------- | |
103 | % perf bench sched pipe | |
104 | (executing 1000000 pipe operations between two tasks) | |
105 | ||
106 | Total time:8.091 sec | |
107 | 8.091833 usecs/op | |
108 | 123581 ops/sec | |
109 | ||
110 | % perf bench sched pipe -l 1000 # loop 1000 | |
111 | (executing 1000 pipe operations between two tasks) | |
112 | ||
113 | Total time:0.016 sec | |
114 | 16.948000 usecs/op | |
115 | 59004 ops/sec | |
116 | --------------------- | |
117 | ||
118 | SEE ALSO | |
119 | -------- | |
120 | linkperf:perf[1] |