XBENCH(1) UNIX System V 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.
10/89 Page 1
XBENCH(1) UNIX System V XBENCH(1)
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 vline100
Page 2 10/89
XBENCH(1) UNIX System V XBENCH(1)
runs 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)
10/89 Page 3