Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ x11perf(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1)

xbench(1)

x11perfcomp(1)



x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


NAME
      x11perf - X11 server performance test program

SYNTAX
      x11perf [-option ...]

DESCRIPTION
      The x11perf program runs one or more performance tests and reports how
      fast an X server can execute the tests.

      Many graphics benchmarks assume that the graphics device is used to
      display the output of a single fancy graphics application, and that the
      user gets his work done on some other device, like a terminal.  Such
      benchmarks usually measure drawing speed for lines, polygons, text, etc.

      Since workstations are not used as standalone graphics engines, but as
      super-terminals, x11perf measures window management performance as well
      as traditional graphics performace. x11perf includes benchmarks for the
      time it takes to create and map windows (as when you start up an
      application); to map a pre-existing set of windows onto the screen (as
      when you deiconify an application or pop up a menu); and to rearrange
      windows (as when you slosh windows to and fro trying to find the one you
      want).

      x11perf also measures graphics performance for operations not normally
      used in standalone graphics displays, but are nonetheless used frequently
      by X applications.  Such operations include CopyPlane (used to map
      bitmaps into pixels), scrolling (used in text windows), and various
      stipples and tiles (used for CAD and color half-toning, respectively).

      x11perf should be used to analyze particular strengths and weaknesses of
      servers, and is most useful to a server writer who wants to analyze and
      improve a server.  x11perf is meant to comprehensively exercise just
      about every X11 operation you can perform; it does not purport to be a
      representative sample of the operations that X11 applications actually
      use.  While it can be used as a benchmark, it was written and is intended
      as a performance testing tool.

      As such, x11perf DOES NOT whittle down measurements to a single
      ``HeXStones'' or ``MeXops'' number.  We consider such numbers to be
      uninformative at best and misleading at worst. Some servers which are
      very fast for certain applications can be very slow for others.  No
      single number or small set of numbers are sufficient to characterize how
      an X implementation will perform on all applications.  However, by
      knowledge of your favorite application, you may be able to use the
      numbers x11perf reports to predict its performance on a given X
      implementation.

      That said, you might also want to look at x11perfcomp(1), a program to
      compare the outputs of different x11perf runs.  You provide a list of
      files containing results from x11perf, and it lays them out in a nice
      tabular format.


10/89                                                                    Page 1







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      For repeatable results, x11perf should be run using a local connection on
      a freshly-started server.  The default configuration runs each test 5
      times, in order to see if each trial takes approximately the same amount
      of time.  Strange glitches should be examined; if non-repeatable one
      might chalk them up to daemons and network traffic.  Each trial is run
      for 5 seconds, in order to reduce random time differences.  The number of
      objects processed per second is displayed to 3 significant digits, but
      you'll be lucky on most UNIX system if the numbers are actually
      consistent to 2 digits.  x11perf moves the cursor out of the test window;
      you should be careful not to bump the mouse and move it back into the
      window.  (A prize to people who correctly explain why!!).

      Before running a test, x11perf determines what the round trip time to the
      server is, and factors this out of the final timing reported.  It ensures
      that the server has actually performed the work requested by fetching a
      pixel back from the test window, which means that servers talking to
      graphics accelerators can't claim that they are done, while in the
      meantime the accelerator is painting madly.

      By default x11perf automatically calibrates the number of repetitions of
      each test, so that each should take approximately the same length of time
      to run across servers of widely differing speeds.  However, since each
      test must be run to completion at least once, some slow servers may take
      a very long time, particularly on the window moving and resizing tests,
      and on the arc drawing tests.

      All timing reports are for the smallest object involved.  For example,
      the line tests use a PolyLine request to paint several lines at once, but
      report how many lines per second the server can paint, not how many
      PolyLine requests per second.  Text tests paint a line of characters, but
      report on the number of characters per second.  Some window tests map,
      unmap, or move a single parent window, but report on how many children
      windows per second the server can map, unmap, or move.

      The current program is mostly the responsibility of Joel McCormack.  It
      is based upon the x11perf developed by Phil Karlton, Susan Angebranndt,
      and Chris Kent, who wanted to assess performance differences between
      various servers.  Mary Walker, Todd Newman, and several tests were added
      in order to write and tune the PMAX (DECStation 3100) servers. For a
      general release to the world, x11perf was rewritten to ease making
      comparisons between widely varying machines, to cover most important (and
      unimportant) X functionality, and to exercise graphics operations in as
      many different orientations and alignments as possible.

OPTIONS
      x11perf is solely Xlib based, and accepts the options listed below:

      -display host:dpy
                    Specifies which display to use.





Page 2                                                                    10/89







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -sync         Runs the tests in synchronous mode.  Normally only useful
                    for debugging x11perf .

      -pack         Runs rectangle tests so that they pack rectangles right
                    next to each other.  This makes it easy to debug server
                    code for stipples and tiles...if the pattern looks ugly,
                    you've got alignment problems.

      -repeat <n>   Repeats each test n times (by default each test is run 5
                    times).

      -time <s>     Specifies how long in seconds each test should be run
                    (default 5 seconds).

      -all          Runs all tests.  This may take a while.

      -range <test1>[,<test2>]
                    Runs all the tests starting from the specified name test1
                    until the name test2, including both the specified tests.
                    The testnames should be one of the options starting from
                    -dot. (eg) -range line100 will peform the tests from the
                    100 pixel line test, and go on till the last test, -range
                    line100,dline10 will do the tests from line100 to dline10.

      -labels       Generates just the descriptive labels for each test
                    specified.  See x11perfcomp for more details.

      -fg color     Specifies the foreground color to use.

      -bg color     Specifies the background color to use.

      -rop <rop0 rop1 ...>
                    Use specified raster ops (default is GXcopy).  This option
                    only affects graphics benchmarks in which the graphics
                    function is actually used.

      -pm <pm0 pm1 ...>
                    Use specified planemasks (default is ~0).  This option only
                    affects graphics benchmarks in which the planemask is
                    actually used.

      -depth <depth>
                    Use a visual with <depth> planes per pixel (default is the
                    default visual).

      -dot          Dot.

      -rect1        1x1 solid-filled rectangle.

      -rect10       10x10 solid-filled rectangle.




10/89                                                                    Page 3







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -rect100      100x100 solid-filled rectangle.

      -rect500      500x500 solid-filled rectangle.

      -srect1       1x1 transparent stippled rectangle, 8x8 stipple pattern.

      -srect10      10x10 transparent stippled rectangle, 8x8 stipple pattern.

      -srect100     100x100 transparent stippled rectangle, 8x8 stipple
                    pattern.

      -srect500     500x500 transparent stippled rectangle, 8x8 stipple
                    pattern.

      -osrect1      1x1 opaque stippled rectangle, 8x8 stipple pattern.

      -osrect10     10x10 opaque stippled rectangle, 8x8 stipple pattern.

      -osrect100    100x100 opaque stippled rectangle, 8x8 stipple pattern.

      -osrect500    500x500 opaque stippled rectangle, 8x8 stipple pattern.

      -tilerect1    1x1 tiled rectangle, 4x4 tile pattern.

      -tilerect10   10x10 tiled rectangle, 4x4 tile pattern.

      -tilerect100  100x100 tiled rectangle, 4x4 tile pattern.

      -tilerect500  500x500 tiled rectangle, 4x4 tile pattern.

      -bigsrect1    1x1 stippled rectangle, 161x145 stipple pattern.

      -bigsrect10   10x10 stippled rectangle, 161x145 stipple pattern.

      -bigsrect100  100x100 stippled rectangle, 161x145 stipple pattern.

      -bigsrect500  500x500 stippled rectangle, 161x145 stipple pattern.

      -bigosrect1   1x1 opaque stippled rectangle, 161x145 stipple pattern.

      -bigosrect10  10x10 opaque stippled rectangle, 161x145 stipple pattern.

      -bigosrect100 100x100 opaque stippled rectangle, 161x145 stipple pattern.

      -bigosrect500 500x500 opaque stippled rectangle, 161x145 stipple pattern.

      -bigtilerect1 1x1 tiled rectangle, 161x145 tile pattern.

      -bigtilerect10
                    10x10 tiled rectangle, 161x145 tile pattern.




Page 4                                                                    10/89







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -bigtilerect100
                    100x100 tiled rectangle, 161x145 tile pattern.

      -bigtilerect500
                    500x500 tiled rectangle, 161x145 tile pattern.

      -eschertilerect1
                    1x1 tiled rectangle, 215x208 tile pattern.

      -eschertilerect10
                    10x10 tiled rectangle, 215x208 tile pattern.

      -eschertilerect100
                    100x100 tiled rectangle, 215x208 tile pattern.

      -eschertilerect500
                    500x500 tiled rectangle, 215x208 tile pattern.

      -seg1         1-pixel thin line segment.

      -seg10        10-pixel thin line segment.

      -seg100       100-pixel thin line segment.

      -seg500       500-pixel thin line segment.

      -seg100c1     100-pixel thin line segment (1 obscuring rectangle).

      -seg100c2     100-pixel thin line segment (2 obscuring rectangles).

      -seg100c3     100-pixel thin line segment (3 obscuring rectangles).

      -dseg10       10-pixel thin dashed segment (3 on, 2 off).

      -dseg100      100-pixel thin dashed segment (3 on, 2 off).

      -ddseg100     100-pixel thin double-dashed segment (3 fg, 2 bg).

      -hseg10       10-pixel thin horizontal line segment.

      -hseg100      100-pixel thin horizontal line segment.

      -hseg500      500-pixel thin horizontal line segment.

      -vseg10       10-pixel thin vertical line segment.

      -vseg100      100-pixel thin vertical line segment.

      -vseg500      500-pixel thin vertical line segment.





10/89                                                                    Page 5







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -whseg10      10-pixel wide horizontal line segment.

      -whseg100     100-pixel wide horizontal line segment.

      -whseg500     500-pixel wide horizontal line segment.

      -wvseg10      10-pixel wide vertical line segment.

      -wvseg100     100-pixel wide vertical line segment.

      -wvseg500     500-pixel wide vertical line segment.

      -line1        1-pixel thin (width 0) line.

      -line10       10-pixel thin line.

      -line100      100-pixel thin line.

      -line500      500-pixel thin line.

      -dline10      10-pixel thin dashed line (3 on, 2 off).

      -dline100     100-pixel thin dashed line (3 on, 2 off).

      -ddline100    100-pixel thin double-dashed line (3 fg, 2 bg).

      -wline10      10-pixel line, line width 1.

      -wline100     100-pixel line, line width 10.

      -wline500     500-pixel line, line width 50.

      -wdline100    100-pixel dashed line, line width 10 (30 on, 20 off).

      -wddline100   100-pixel double-dashed line, line width 10 (30 fg, 20 bg).

      -orect10      10x10 thin rectangle outline.

      -orect100     100-pixel thin vertical line segment.

      -orect500     500-pixel thin vertical line segment.

      -worect10     10x10 wide rectangle outline.

      -worect100    100-pixel wide vertical line segment.

      -worect500    500-pixel wide vertical line segment.

      -circle1      1-pixel diameter thin (line width 0) circle.





Page 6                                                                    10/89







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -circle10     10-pixel diameter thin circle.

      -circle100    100-pixel diameter thin circle.

      -circle500    500-pixel diameter thin circle.

      -dcircle100   100-pixel diameter thin dashed circle (3 on, 2 off).

      -ddcircle100  100-pixel diameter thin double-dashed circle (3 fg, 2 bg).

      -wcircle10    10-pixel diameter circle, line width 1.

      -wcircle100   100-pixel diameter circle, line width 10.

      -wcircle500   500-pixel diameter circle, line width 50.

      -wdcircle100  100-pixel diameter dashed circle, line width 10 (30 on, 20
                    off).

      -wddcircle100 100-pixel diameter double-dashed circle, line width 10 (30
                    fg, 20 bg).

      -pcircle10    10-pixel diameter thin partial circle, orientation and arc
                    angle evenly distributed.

      -pcircle100   100-pixel diameter thin partial circle.

      -wpcircle10   10-pixel diameter wide partial circle.

      -wpcircle100  100-pixel diameter wide partial circle.

      -fcircle1     1-pixel diameter filled circle.

      -fcircle10    10-pixel diameter filled circle.

      -fcircle100   100-pixel diameter filled circle.

      -fcircle500   500-pixel diameter filled circle.

      -fcpcircle10  10-pixel diameter partial filled circle, chord fill,
                    orientation and arc angle evenly distributed.

      -fcpcircle100 100-pixel diameter partial filled circle, chord fill.

      -fspcircle10  10-pixel diameter partial filled circle, pie slice fill,
                    orientation and arc angle evenly distributed.

      -fspcircle100 100-pixel diameter partial filled circle, pie slice fill.

      -ellipse10    10-pixel diameter thin (line width 0) ellipse, major and
                    minor axis sizes evenly distributed.



10/89                                                                    Page 7







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -ellipse100   100-pixel diameter thin ellipse.

      -ellipse500   500-pixel diameter thin ellipse.

      -dellipse100  100-pixel diameter thin dashed ellipse (3 on, 2 off).

      -ddellipse100 100-pixel diameter thin double-dashed ellipse (3 fg, 2 bg).

      -wellipse10   10-pixel diameter ellipse, line width 1.

      -wellipse100  100-pixel diameter ellipse, line width 10.

      -wellipse500  500-pixel diameter ellipse, line width 50.

      -wdellipse100 100-pixel diameter dashed ellipse, line width 10 (30 on, 20
                    off).

      -wddellipse100
                    100-pixel diameter double-dashed ellipse, line width 10 (30
                    fg, 20 bg).

      -pellipse10   10-pixel diameter thin partial ellipse.

      -pellipse100  100-pixel diameter thin partial ellipse.

      -wpellipse10  10-pixel diameter wide partial ellipse.

      -wpellipse100 100-pixel diameter wide partial ellipse.

      -fellipse10   10-pixel diameter filled ellipse.

      -fellipse100  100-pixel diameter filled ellipse.

      -fellipse500  500-pixel diameter filled ellipse.

      -fcpellipse10 10-pixel diameter partial filled ellipse, chord fill.

      -fcpellipse100
                    100-pixel diameter partial filled ellipse, chord fill.

      -fspellipse10 10-pixel diameter partial filled ellipse, pie slice fill.

      -fspellipse100
                    100-pixel diameter partial filled ellipse, pie slice fill.

      -triangle1    Fill 1-pixel/side triangle.

      -triangle10   Fill 10-pixel/side triangle.

      -triangle100  Fill 100-pixel/side triangle.




Page 8                                                                    10/89







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -trap10       Fill 10x10 trapezoid.

      -trap100      Fill 100x100 trapezoid.

      -strap10      Fill 10x10 transparent stippled trapezoid, 8x8 stipple
                    pattern.

      -strap100     Fill 100x100 transparent stippled trapezoid, 8x8 stipple
                    pattern.

      -ostrap10     Fill 10x10 opaque stippled trapezoid, 8x8 stipple pattern.

      -ostrap100    Fill 100x100 opaque stippled trapezoid, 8x8 stipple
                    pattern.

      -tiletrap10   Fill 10x10 tiled trapezoid, 4x4 tile pattern.

      -tiletrap100  Fill 100x100 tiled trapezoid, 4x4 tile pattern.

      -bigstrap10   Fill 10x10 transparent stippled trapezoid, 161x145 stipple
                    pattern.

      -bigstrap100  Fill 100x100 transparent stippled trapezoid, 161x145
                    stipple pattern.

      -bigostrap10  Fill 10x10 opaque stippled trapezoid, 161x145 stipple
                    pattern.

      -bigostrap100 Fill 100x100 opaque stippled trapezoid, 161x145 stipple
                    pattern.

      -bigtiletrap10
                    Fill 10x10 tiled trapezoid, 161x145 tile pattern.

      -bigtiletrap100
                    Fill 100x100 tiled trapezoid, 161x145 tile pattern.

      -eschertiletrap10
                    Fill 10x10 tiled trapezoid, 216x208 tile pattern.

      -eschertiletrap100
                    Fill 100x100 tiled trapezoid, 216x208 tile pattern.

      -complex10    Fill 10-pixel/side complex polygon.

      -complex100   Fill 100-pixel/side complex polygon.

      -ftext        Character in 80-char line (6x13).

      -f8text       Character in 70-char line (8x13).




10/89                                                                    Page 9







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -f9text       Character in 60-char line (9x15).

      -f14text16    2-byte character in 40-char line (k14).

      -tr10text     Character in 80-char line (Times-Roman 10).

      -tr24text     Character in 30-char line (Times-Roman 24).

      -polytext     Character in 20/40/20 line (6x13, Times-Roman 10, 6x13).

      -fitext       Character in 80-char image line (6x13).

      -f8itext      Character in 70-char image line (8x13).

      -f9itext      Character in 60-char image line (9x15).

      -f14itext16   2-byte character in 40-char image line (k14).

      -tr10itext    Character in 80-char image line (Times-Roman 10).

      -tr24itext    Character in 30-char image line (Times-Roman 24).

      -scroll10     Scroll 10x10 pixels vertically.

      -scroll100    Scroll 100x100 pixels vertically.

      -scroll500    Scroll 500x500 pixels vertically.

      -copywinwin10 Copy 10x10 square from window to window.

      -copywinwin100
                    Copy 100x100 square from window to window.

      -copywinwin500
                    Copy 500x500 square from window to window.

      -copypixwin10 Copy 10x10 square from pixmap to window.

      -copypixwin100
                    Copy 100x100 square from pixmap to window.

      -copypixwin500
                    Copy 500x500 square from pixmap to window.

      -copywinpix10 Copy 10x10 square from window to pixmap.

      -copywinpix100
                    Copy 100x100 square from window to pixmap.

      -copywinpix500
                    Copy 500x500 square from window to pixmap.



Page 10                                                                   10/89







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -copypixpix10 Copy 10x10 square from pixmap to pixmap.

      -copypixpix100
                    Copy 100x100 square from pixmap to pixmap.

      -copypixpix500
                    Copy 500x500 square from pixmap to pixmap.

      -copyplane10  Copy 10x10 1-bit deep plane.

      -copyplane100 Copy 100x100 1-bit deep plane.

      -copyplane500 Copy 500x500 1-bit deep plane.

      -putimage10   PutImage 10x10 square.

      -putimage100  PutImage 100x100 square.

      -putimage500  PutImage 500x500 square.

      -shmput10     PutImage 10x10 square, MIT shared memory extension.

      -shmput100    PutImage 100x100 square, MIT shared memory extension.

      -shmput500    PutImage 500x500 square, MIT shared memory extension.

      -getimage10   GetImage 10x10 square.

      -getimage100  GetImage 100x100 square.

      -getimage500  GetImage 500x500 square.

      -noop         X protocol NoOperation.

      -atom         GetAtomName.

      -prop         GetProperty.

      -gc           Change graphics context.

      -create       Create child window and map using MapSubwindows.

      -ucreate      Create unmapped window.

      -map          Map child window via MapWindow on parent.

      -unmap        Unmap child window via UnmapWindow on parent.

      -destroy      Destroy child window via DestroyWindow parent.





10/89                                                                   Page 11







x11perf(1)                 X Version 11(29 Apr 1991)                 x11perf(1)


      -popup        Hide/expose window via Map/Unmap popup window.

      -move         Move window.

      -umove        Moved unmapped window.

      -movetree     Move window via MoveWindow on parent.

      -resize       Resize window.

      -uresize      Resize unmapped window.

      -circulate    Circulate lowest window to top.

      -ucirculate   Circulate unmapped window to top.

X DEFAULTS
      There are no X defaults used by this program.

SEE ALSO
      X(1), xbench(1), x11perfcomp(1)

BUGS
      We hope not.

COPYRIGHT
      Copyright 1988, 1989 Digital Equipment Corporation.
      See X(1) for a full statement of rights and permissions.

AUTHORS
      Joel McCormack
      Phil Karlton
      Susan Angebranndt
      Chris Kent




















Page 12                                                                   10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026