Scroll to navigation

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:


horizontal, vertical and diagonal lines are drawn solid, dashed and wide solid.

unfilled, filled, tile-filled and stipple-filled.

unfilled and filled.

screen to screen copy, , bitmap to screen (XCopyPlane) and invert.

draws strings in a common font.

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:


as usual

prints usage message.

output a list of available tests.

run all tests with level number less or equal level. Without this option all level 1 tests are run.

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.

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)

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 :-)]

run only the named test. This option may be repeated so that:


xbench -only hline100 -only vline100

runs only the hline100 and vline100 tests.


excludes the named test from the benchmark. [If any test crashes your server ....] This option may also be repeated to exclude more.

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