XBENCH(1) | General Commands Manual | XBENCH(1) |
NAME¶
xbench - get a feeling of X server performance
SYNOPSIS¶
xbench [-option ...]
DESCRIPTION¶
Xbench tries to give you a feeling of your X-server's
performance by outputting a number of graphic-commands and measuring the
time it takes to put this onto the screen.
It is a useful tool for comparing different server implementations and for
measuring server tuning effects.
TIMING¶
Care has been taken to remove the effects of queueing and/or
buffering in the server. Every test outputs its commands until a given time
period elapses (usually 10 seconds). Then xbench waits until the
server has processed the commands by doing an XSync. Since the server
may communicate with a graphic-controller using a command fifo/pipe/buffer
in between, Xbench finally reads back part of the screen. This
read-back makes sure that every pixel is definitely on the screen and not in
some server-controller command-queue.
[only 1 pixel is read back so the additional (misinterpreted) delay is
minimal].
Every test is run 3 times and the best rating is taken - not the average. This is done to remove (or at least minimize) the effects of daemons or other background processes.
TESTS¶
The benchmark tests the most common operations, they include:
- lines
-
horizontal, vertical and diagonal lines are drawn solid, dashed and wide solid. - rectangles
-
unfilled, filled, tile-filled and stipple-filled. - arcs
-
unfilled and filled. - bit-blt's
-
screen to screen copy, , bitmap to screen (XCopyPlane) and invert. - character output
-
draws strings in a common font. - complex test
-
to test overall performance.
Every test in xbench has associated with it a level-number,
currently 1 to 3. If you start xbench without any arguments all level
1 benches are run. If you need more information, specify the level in the
command line to get all tests with levels less or equal the specified level.
The higher level benches are variations of the lower-level ones with changed
parameters. In general level 1 information is all you need.
Most tests are run more than once with different parameters. Server tuners may
find it useful, to compare the numbers given - for example short vector
performance is likely to be limited by the interprocess/server overhead
while long vector performance is usually limited by the speed of the
graphics-controller/ddx code.
OPTIONS¶
Xbench accepts the folloing options:
- -display name
-
as usual - -foo
-
prints usage message. - -help
-
output a list of available tests. - -level number
-
run all tests with level number less or equal level. Without this option all level 1 tests are run. - -timegoal seconds
-
changes runtime per test. (default = 10 seconds). Remember, that every test is run 3 times so that a timegoal of 20 seconds gives a total run time of 1 minute per test. - -nruns number
-
runs each test number times. With a timegoal of 10 seconds this gives a total run time of 10 sec's per test. (default = 3) - -sync
-
if you are testing a slow server with a big buffer, many commands may be buffered in some internal server queues. [I have seen servers running for half an hour processing arc commands sent during the 10 seconds]. This option removes long delays for commands that are known to be slow - but keep in mind, that xbench may give you incorrect benchmark data if this option is used. [but if your server is really slow, it doesn't count anyway :-)] - -only name-of-test
-
run only the named test. This option may be repeated so that:
xbench -only hline100 -only vline100runs only the hline100 and vline100 tests.
- -not name-of-test
-
excludes the named test from the benchmark. [If any test crashes your server ....] This option may also be repeated to exclude more. - -ask
-
turns on interactive mode. For every test you have to enter "y" if you want the test to be run. If you enter "s" runs this test with the "-sync" option on. Entering "n" skips this test.
COPYRIGHT¶
Copyright 1988, Siemens Munich.
free to copy/distribute - but not for money - provided that the above
copyright notice appears in all copies.
AUTHOR¶
Claus Gittinger (..!decvax!unido!sinix!claus)
4th Berkeley Distribution |