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 vline100

    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)