[0m


XBENCH(1)	    UNIX Programmer's Manual		XBENCH(1)



[1mNAME
     [0mxbench - get a feeling of X server performance

[1mSYNOPSIS
     xbench [0m[-option ...]

[1mDESCRIPTION
     [0m_X_b_e_n_c_h tries to give you a feeling of your X-server's per-
     formance 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 implemen-
     tations and for measuring server tuning effects.

[1mTIMING
     [0mCare 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
     _x_b_e_n_c_h waits until the server has processed the commands by
     doing an _X_S_y_n_c. Since the server may communicate with a
     graphic-controller using a command fifo/pipe/buffer in
     between, _X_b_e_n_c_h 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 (misinter-
     preted) delay is minimal].

     Every test is run 3 times and the [1mbest [0mrating is taken - not
     the average. This is done to remove (or at least minimize)
     the effects of daemons or other background processes.

[1mTESTS
     [0mThe 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



Printed 16/1/92                                                 1






XBENCH(1)	    UNIX Programmer's Manual		XBENCH(1)



	  to test overall performance.

     Every test in _x_b_e_n_c_h has associated with it a level-number,
     currently 1 to 3.	If you start _x_b_e_n_c_h 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 vec-
     tor performance is usually limited by the speed of the
     graphics-controller/ddx code.

[1mOPTIONS
     [0m_X_b_e_n_c_h accepts the folloing options:

     [1m-display [0m_n_a_m_e
	     as usual

     [1m-foo
	     [0mprints usage message.

     [1m-help
	     [0moutput a list of available tests.

     [1m-level [0m_n_u_m_b_e_r
	     run all tests with level number less or equal _l_e_v_e_l.
	     Without this option all level 1 tests are run.

     [1m-timegoal [0m_s_e_c_o_n_d_s
	     changes runtime per test. (default = 10 seconds).
	     Remember, that every test is run 3 times so that a
	     _t_i_m_e_g_o_a_l of 20 seconds gives a total run time of 1
	     minute per test.

     [1m-nruns [0m_n_u_m_b_e_r
	     runs each test _n_u_m_b_e_r times.  With a timegoal of 10
	     seconds this gives a total run time of 10 sec's per
	     test.  (default = 3)

     [1m-sync
	     [0mif 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 com-
	     mands that are known to be slow - but keep in mind,
	     that _x_b_e_n_c_h may give you incorrect benchmark data if
	     this option is used.  [but if your server is really



Printed 16/1/92                                                 2






XBENCH(1)	    UNIX Programmer's Manual		XBENCH(1)



	     slow, it doesn't count anyway :-)]

     [1m-only [0m_n_a_m_e-_o_f-_t_e_s_t
	     run only the named test. This option may be repeated
	     so that:

		   xbench -only hline100 -only vline100

	     runs only the _h_l_i_n_e_1_0_0 and _v_l_i_n_e_1_0_0 tests.

     [1m-not [0m_n_a_m_e-_o_f-_t_e_s_t
	     excludes the named test from the benchmark.  [If any
	     test crashes your server ....] This option may also
	     be repeated to exclude more.

     [1m-ask
	     [0mturns 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.

[1mCOPYRIGHT
     [0mCopyright 1988, Siemens Munich.
     free to copy/distribute - but not for money - provided that
     the above copyright notice appears in all copies.

[1mAUTHOR
     [0mClaus Gittinger (..!decvax!unido!sinix!claus)



























Printed 16/1/92                                                 3



[0m