/usr/share/doc/graphicsmagick/www/benchmark.html is in graphicsmagick 1.3.18-1ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=us-ascii">
<title>GraphicsMagick GM Utility</title>
<style type=text/css>
<!--
@page { size: 8.5in 11in }
TD P { color: #000000; font-family: "Verdana", "Arial", "Helvetica", sans-serif; font-size: 12pt }
P { color: #000000; font-family: "Verdana", "Arial", "Helvetica", sans-serif; font-size: 12pt }
A:link { color: #00B04F }
A:visited { color: #007B37 }
-->
</style>
</head>
<body LANG="en-US" TEXT="#000000" LINK="#00B04F" VLINK="#007B37" BGCOLOR="#ffffff">
<a name="top"></a>
<table border=0 cellpadding=10 cellspacing=0 style="margin-top:-17px" width="100%"><tr><td>
<br> <br>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="benchmark"></a>gm benchmark
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-top"></a>NAME
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
benchmark - benchmark the execution of a gm command
</td></tr></table>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-contents"></a>Contents
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<dl>
<dt>
<a href="#bench-syno">Synopsis</a>
</dt>
<dt>
<a href="#bench-desc">Description</a>
</dt>
<dt>
<a href="#bench-exam">Examples</a>
</dt>
<dt>
<a href="#bench-opti">Options</a>
</dt>
</dl>
</td></tr></table>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-syno"></a>Synopsis
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<p>
<strong>gm benchmark</strong> <strong>[</strong> <em>options ...</em> <strong>]</strong> <em>command</em>
</td></tr></table>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-desc"></a>Description
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<p>
<strong>benchmark</strong> executes an arbitrary <strong>gm</strong> utility command
(e.g. <strong>convert</strong>) for one or more loops, and/or a specified
execution time, and reports many execution metrics. For builds using
OpenMP, a mode is provided to execute the benchmark with an increasing
number of threads and provide a report of speedup and multi-thread
execution efficiency. If <strong>benchmark</strong> is used to execute a
command without any additional benchmark options, then the command is
run once.
</td></tr></table>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-exam"></a>Examples
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<p>To obtain benchmark information for a single execution of a
command:
<pre>
% gm benchmark convert input.ppm -gaussian 0x1 output.ppm
Results: 32 threads 1 iter 6.20s user 0.41s total 2.439 iter/s 0.161 iter/cpu
</pre>
<p>To obtain benchmark information from 100 iterations of the
command:
<pre>
% gm benchmark -iterations 100 convert input.ppm -gaussian 0x1 output.ppm
Results: 32 threads 100 iter 625.40s user 31.74s total 3.151 iter/s 0.160 iter/cpu
</pre>
<p>To obtain benchmark information by iterating the command until a
specified amount of time (in seconds) has been consumed:
<pre>
% gm benchmark -duration 30 convert input.ppm -gaussian 0x1 output.ppm
Results: 32 threads 91 iter 587.33s user 30.30s total 3.003 iter/s 0.155 iter/cpu
</pre>
<p>To obtain a full performance report with an increasing number of
threads (1-32 threads, stepping the number of threads by four each
time):
<pre>
% gm benchmark -duration 3 -stepthreads 4 convert input.ppm -gaussian 0x2 output.ppm
Results: 1 threads 1 iter 8.84s user 8.84s total 0.113 iter/s 0.113 iter/cpu 1.00 speedup 1.000 karp-flatt
Results: 4 threads 2 iter 18.37s user 4.89s total 0.409 iter/s 0.109 iter/cpu 3.62 speedup 0.035 karp-flatt
Results: 8 threads 3 iter 29.81s user 4.09s total 0.733 iter/s 0.101 iter/cpu 6.48 speedup 0.033 karp-flatt
Results: 12 threads 3 iter 30.81s user 3.14s total 0.955 iter/s 0.097 iter/cpu 8.45 speedup 0.038 karp-flatt
Results: 16 threads 3 iter 35.02s user 3.01s total 0.997 iter/s 0.086 iter/cpu 8.81 speedup 0.054 karp-flatt
Results: 20 threads 4 iter 52.92s user 3.53s total 1.133 iter/s 0.076 iter/cpu 10.02 speedup 0.052 karp-flatt
Results: 24 threads 4 iter 60.66s user 3.39s total 1.180 iter/s 0.066 iter/cpu 10.43 speedup 0.057 karp-flatt
Results: 28 threads 4 iter 73.10s user 3.35s total 1.194 iter/s 0.055 iter/cpu 10.56 speedup 0.061 karp-flatt
Results: 32 threads 4 iter 82.10s user 3.09s total 1.294 iter/s 0.049 iter/cpu 11.44 speedup 0.058 karp-flatt
</pre>
<p>Here is the interpretation of the output:
<ul>
<li><strong>threads</strong> - number of threads used.
<li><strong>iter</strong> - number of command iterations executed.
<li><strong>user</strong> - total user time consumed.
<li><strong>total</strong> - total elapsed time consumed.
<li><strong>iter/s</strong> - number of command iterations per second.
<li><strong>iter/cpu</strong> - amount of CPU time consumed per iteration.
<li><strong>speedup</strong> - speedup compared with one thread.
<li><strong>karp-flatt</strong> - Karp-Flatt measure of speedup efficiency.
</ul>
<p><em>Please note that the reported "speedup" is based on the
execution time of just one thread. A preliminary warm-up pass is used
before timing the first loop in order to ensure that the CPU is
brought out of power-saving modes and that system caches are warmed
up. Most modern CPUs provide a "turbo" mode where the CPU clock speed
is increased (e.g. by a factor of two) when only one or two cores are
active. If the CPU grows excessively hot (due to insufficient
cooling), then it may dial back its clock rates as a form of thermal
management. These factors result in an under-reporting of speedup
compared to if "turbo" mode was disabled and the CPU does not need to
worry about thermal management. The <strong>powertop</strong> utility available
under Linux and Solaris provides a way to observe CPU core clock rates
while a benchmark is running.</em>
</td></tr></table>
<p>
<i><a href="#top">Back to Contents</a></i>
</p>
<table BORDER=0 WIDTH="100%">
<tr>
<td ALIGN=LEFT bgcolor="#FFFFFF"><img
SRC="images/right_triangle.png" ALT=">" BORDER=0
height=14 width=15><b><font face="Helvetica, Arial"><font
color="#00B04F"><font size="+1">
<a NAME="bench-opti"></a>Options
</font></font></font></b></td></tr></table>
<table width="94%" border="0" cellspacing="0" cellpadding="8">
<tr><td width="3%"><br></td><td>
<p> Options are processed from left to right and must appear before
any argument.
<table BORDER=0 WIDTH="94%">
<tr>
<td width="3%"><br></td>
<td ALIGN=LEFT BGCOLOR="#FFFFFF">
<img SRC="images/right_triangle_option.png"
ALT=">" BORDER=0 height=14
width=15><b><font face="Helvetica, Arial"
><font color="#00B04F"><font size="+1">
-duration <i>duration</i>
</font></font></font></b></td></tr></table>
<table width="90%" border="0" cellspacing="0" cellpadding="8"> <tr><td width="6%"><br></td><td>duration to run benchmark</td></tr></table>
<p>Specify the number of seconds to run the benchmark. The command is
executed repeatedly until the specified amount of time has
elapsed.
<table BORDER=0 WIDTH="94%">
<tr>
<td width="3%"><br></td>
<td ALIGN=LEFT BGCOLOR="#FFFFFF">
<img SRC="images/right_triangle_option.png"
ALT=">" BORDER=0 height=14
width=15><b><font face="Helvetica, Arial"
><font color="#00B04F"><font size="+1">
-help
</font></font></font></b></td></tr></table>
<p>
Prints benchmark command help.
<table BORDER=0 WIDTH="94%">
<tr>
<td width="3%"><br></td>
<td ALIGN=LEFT BGCOLOR="#FFFFFF">
<img SRC="images/right_triangle_option.png"
ALT=">" BORDER=0 height=14
width=15><b><font face="Helvetica, Arial"
><font color="#00B04F"><font size="+1">
-iterations <i>loops</i>
</font></font></font></b></td></tr></table>
<table width="90%" border="0" cellspacing="0" cellpadding="8"> <tr><td width="6%"><br></td><td>number of command iterations</td></tr></table>
<p>Specify the number of iterations to run the benchmark. The command
is executed repeatedly until the specified number of iterations has
been reached.
<table BORDER=0 WIDTH="94%">
<tr>
<td width="3%"><br></td>
<td ALIGN=LEFT BGCOLOR="#FFFFFF">
<img SRC="images/right_triangle_option.png"
ALT=">" BORDER=0 height=14
width=15><b><font face="Helvetica, Arial"
><font color="#00B04F"><font size="+1">
-rawcsv
</font></font></font></b></td></tr></table>
<table width="90%" border="0" cellspacing="0" cellpadding="8"> <tr><td width="6%"><br></td><td>Print results in CSV format</td></tr></table>
<p>Print results in a comma-separated value (CSV) format which is easy
to parse for plotting or importing into a spreadsheet or database.
The values reported are <strong>threads</strong>, <strong>iterations</strong>,
<strong>user_time</strong>, and <strong>elapsed_time</strong>.
<table BORDER=0 WIDTH="94%">
<tr>
<td width="3%"><br></td>
<td ALIGN=LEFT BGCOLOR="#FFFFFF">
<img SRC="images/right_triangle_option.png"
ALT=">" BORDER=0 height=14
width=15><b><font face="Helvetica, Arial"
><font color="#00B04F"><font size="+1">
-stepthreads <i>step</i>
</font></font></font></b></td></tr></table>
<table width="90%" border="0" cellspacing="0" cellpadding="8"> <tr><td width="6%"><br></td><td>execute a per-thread benchmark ramp</td></tr></table>
<p> Execute a per-thread benchmark ramp, incrementing the number of
threads at each step by the specified value. The maximum number of
threads is taken from the standard <tt>OMP_NUM_THREADS</tt>
environment variable.
</td></tr></table>
<p>
<i><a href="#top">Back to Contents</a></i>
</p>
</td></tr></table>
|