argv@island.uu.net (Dan Heller) (03/29/89)
Submitted-by: Claus Gittinger <unido!sinix!claus> Posting-number: Volume 3, Issue 60 Archive-name: xbench/part03 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 3 (of 4)." # Contents: benches.h main.c results/sun3-160.R2.out # results/sun3-50.R3.out scripts/detail.awk scripts/xstones.awk # Wrapped by x11@babel on Thu Mar 23 14:08:00 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'benches.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'benches.h'\" else echo shar: Extracting \"'benches.h'\" \(12065 characters\) sed "s/^X//" >'benches.h' <<'END_OF_FILE' typedef int (*FUNCPTR)(); X#define NOFUNC ((FUNCPTR)0) X extern hline_setup(), hline_bench(), hline_cleanup(), hline_msg(); extern vline_setup(), vline_bench(), vline_cleanup(), vline_msg(); extern sline_setup(), sline_bench(), sline_cleanup(), sline_msg(); extern line_setup(), line_bench(), line_cleanup(), line_msg(); extern dline_setup(), dline_bench(), dline_cleanup(), dline_msg(); extern wline_setup(), wline_bench(), wline_cleanup(), wline_msg(); extern rects_setup(), rects_bench(), rects_cleanup(), rects_msg(); extern arcs_setup(), arcs_bench(), arcs_cleanup(), arcs_msg(); extern filledarcs_setup(), filledarcs_bench(), filledarcs_cleanup(), filledarcs_msg(); extern filledpoly_setup(), filledpoly_bench(), filledpoly_cleanup(), filledpoly_msg(); extern fillrects_setup(), fillrects_bench(), fillrects_cleanup(), fillrects_msg(); extern tiledrects_setup(), tiledrects_bench(), tiledrects_cleanup(), tiledrects_msg(); extern stippledrects_setup(), stippledrects_bench(), stippledrects_cleanup(), stippledrects_msg(); extern invrects_setup(), invrects_bench(), invrects_cleanup(), invrects_msg(); extern imagestring_setup(), imagestring_bench(), imagestring_cleanup(), imagestring_msg(); extern screencopy_setup(), screencopy_bench(), screencopy_cleanup(), screencopy_msg(); extern scroll_setup(), scroll_bench(), scroll_cleanup(), scroll_msg(); extern pixmapcopy_setup(), pixmapcopy_bench(), pixmapcopy_cleanup(), pixmapcopy_msg(); extern bitmapcopy_setup(), bitmapcopy_bench(), bitmapcopy_cleanup(), bitmapcopy_msg(); extern complex1_setup(), complex1_bench(), complex1_cleanup(), complex1_msg(); X struct benchFunctionDescription { X char *name; /* name of bench */ X int level; /* its level */ X FUNCPTR setupFunc; /* functions to do it ... */ X FUNCPTR benchFunc; X FUNCPTR cleanupFunc; X FUNCPTR messageFunc; X unsigned benchArg; /* argument to function */ X} benchList[] = { X/* name level functions */ X X { "line2", 2, line_setup, line_bench, line_cleanup, line_msg, 2 }, X { "line10", 1, line_setup, line_bench, line_cleanup, line_msg, 10 }, X { "line100", 1, line_setup, line_bench, line_cleanup, line_msg, 100 }, X { "line400", 1, line_setup, line_bench, line_cleanup, line_msg, 400 }, X { "line500", 2, line_setup, line_bench, line_cleanup, line_msg, 500 }, X X { "hline2", 3, hline_setup, hline_bench, hline_cleanup, hline_msg, 2 }, X { "hline10", 2, hline_setup, hline_bench, hline_cleanup, hline_msg, 10 }, X { "hline50", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 50 }, X { "hline100", 2, hline_setup, hline_bench, hline_cleanup, hline_msg, 100 }, X { "hline200", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 200 }, X { "hline300", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 300 }, X { "hline400", 2, hline_setup, hline_bench, hline_cleanup, hline_msg, 400 }, X { "hline500", 3, hline_setup, hline_bench, hline_cleanup, hline_msg, 500 }, X { "hline600", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 600 }, X { "hline700", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 700 }, X { "hline800", 4, hline_setup, hline_bench, hline_cleanup, hline_msg, 800 }, X X { "vline2", 3, vline_setup, vline_bench, vline_cleanup, vline_msg, 2 }, X { "vline10", 2, vline_setup, vline_bench, vline_cleanup, vline_msg, 10 }, X { "vline50", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 50 }, X { "vline100", 2, vline_setup, vline_bench, vline_cleanup, vline_msg, 100 }, X { "vline200", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 200 }, X { "vline300", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 300 }, X { "vline400", 2, vline_setup, vline_bench, vline_cleanup, vline_msg, 400 }, X { "vline500", 3, vline_setup, vline_bench, vline_cleanup, vline_msg, 500 }, X { "vline600", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 600 }, X { "vline700", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 700 }, X { "vline800", 4, vline_setup, vline_bench, vline_cleanup, vline_msg, 800 }, X X { "sline2", 3, sline_setup, sline_bench, sline_cleanup, sline_msg, 2 }, X { "sline10", 2, sline_setup, sline_bench, sline_cleanup, sline_msg, 10 }, X { "sline100", 2, sline_setup, sline_bench, sline_cleanup, sline_msg, 100 }, X { "sline400", 2, sline_setup, sline_bench, sline_cleanup, sline_msg, 400 }, X { "sline500", 3, sline_setup, sline_bench, sline_cleanup, sline_msg, 500 }, X X { "dline2", 2, dline_setup, dline_bench, dline_cleanup, dline_msg, 2 }, X { "dline10", 1, dline_setup, dline_bench, dline_cleanup, dline_msg, 10 }, X { "dline100", 1, dline_setup, dline_bench, dline_cleanup, dline_msg, 100 }, X { "dline400", 1, dline_setup, dline_bench, dline_cleanup, dline_msg, 400 }, X { "dline500", 2, dline_setup, dline_bench, dline_cleanup, dline_msg, 500 }, X X { "wline2", 2, wline_setup, wline_bench, wline_cleanup, wline_msg, 2 }, X { "wline10", 1, wline_setup, wline_bench, wline_cleanup, wline_msg, 10 }, X { "wline100", 1, wline_setup, wline_bench, wline_cleanup, wline_msg, 100 }, X { "wline400", 1, wline_setup, wline_bench, wline_cleanup, wline_msg, 400 }, X { "wline500", 2, wline_setup, wline_bench, wline_cleanup, wline_msg, 500 }, X X { "rects2", 2, rects_setup, rects_bench, rects_cleanup, rects_msg, 2 }, X { "rects10", 1, rects_setup, rects_bench, rects_cleanup, rects_msg, 10 }, X { "rects100", 1, rects_setup, rects_bench, rects_cleanup, rects_msg, 100 }, X { "rects400", 1, rects_setup, rects_bench, rects_cleanup, rects_msg, 400 }, X { "rects500", 2, rects_setup, rects_bench, rects_cleanup, rects_msg, 500 }, X X { "fillrects2", 2, fillrects_setup, fillrects_bench, fillrects_cleanup, fillrects_msg, 2 }, X { "fillrects10", 1, fillrects_setup, fillrects_bench, fillrects_cleanup, fillrects_msg, 10 }, X { "fillrects100", 1, fillrects_setup, fillrects_bench, fillrects_cleanup, fillrects_msg, 100 }, X { "fillrects400", 1, fillrects_setup, fillrects_bench, fillrects_cleanup, fillrects_msg, 400 }, X { "fillrects500", 2, fillrects_setup, fillrects_bench, fillrects_cleanup, fillrects_msg, 500 }, X X { "tiledrects2", 2, tiledrects_setup, tiledrects_bench, tiledrects_cleanup, tiledrects_msg, 2 }, X { "tiledrects10", 1, tiledrects_setup, tiledrects_bench, tiledrects_cleanup, tiledrects_msg, 10 }, X { "tiledrects100", 1, tiledrects_setup, tiledrects_bench, tiledrects_cleanup, tiledrects_msg, 100 }, X { "tiledrects400", 1, tiledrects_setup, tiledrects_bench, tiledrects_cleanup, tiledrects_msg, 400 }, X { "tiledrects500", 2, tiledrects_setup, tiledrects_bench, tiledrects_cleanup, tiledrects_msg, 500 }, X X { "stippledrects2", 2, stippledrects_setup, stippledrects_bench, stippledrects_cleanup, stippledrects_msg, 2 }, X { "stippledrects10", 1, stippledrects_setup, stippledrects_bench, stippledrects_cleanup, stippledrects_msg, 10 }, X { "stippledrects100", 1, stippledrects_setup, stippledrects_bench, stippledrects_cleanup, stippledrects_msg, 100 }, X { "stippledrects400", 1, stippledrects_setup, stippledrects_bench, stippledrects_cleanup, stippledrects_msg, 400 }, X { "stippledrects500", 2, stippledrects_setup, stippledrects_bench, stippledrects_cleanup, stippledrects_msg, 500 }, X X { "invrects2", 2, invrects_setup, invrects_bench, invrects_cleanup, invrects_msg, 2 }, X { "invrects10", 1, invrects_setup, invrects_bench, invrects_cleanup, invrects_msg, 10 }, X { "invrects100", 1, invrects_setup, invrects_bench, invrects_cleanup, invrects_msg, 100 }, X { "invrects400", 1, invrects_setup, invrects_bench, invrects_cleanup, invrects_msg, 400 }, X { "invrects500", 2, invrects_setup, invrects_bench, invrects_cleanup, invrects_msg, 500 }, X X { "arcs2", 2, arcs_setup, arcs_bench, arcs_cleanup, arcs_msg, 2 }, X { "arcs10", 1, arcs_setup, arcs_bench, arcs_cleanup, arcs_msg, 10 }, X { "arcs100", 1, arcs_setup, arcs_bench, arcs_cleanup, arcs_msg, 100 }, X { "arcs400", 1, arcs_setup, arcs_bench, arcs_cleanup, arcs_msg, 400 }, X { "arcs500", 2, arcs_setup, arcs_bench, arcs_cleanup, arcs_msg, 500 }, X X { "filledarcs2", 2, filledarcs_setup, filledarcs_bench, filledarcs_cleanup, filledarcs_msg, 2 }, X { "filledarcs10", 1, filledarcs_setup, filledarcs_bench, filledarcs_cleanup, filledarcs_msg, 10 }, X { "filledarcs100", 1, filledarcs_setup, filledarcs_bench, filledarcs_cleanup, filledarcs_msg, 100 }, X { "filledarcs400", 1, filledarcs_setup, filledarcs_bench, filledarcs_cleanup, filledarcs_msg, 400 }, X { "filledarcs500", 2, filledarcs_setup, filledarcs_bench, filledarcs_cleanup, filledarcs_msg, 500 }, X X { "filledpoly10", 2, filledpoly_setup, filledpoly_bench, filledpoly_cleanup, filledpoly_msg, 10 }, X { "filledpoly100", 1, filledpoly_setup, filledpoly_bench, filledpoly_cleanup, filledpoly_msg, 100 }, X X { "screencopy2", 2, screencopy_setup, screencopy_bench, screencopy_cleanup, screencopy_msg, 2 }, X { "screencopy10", 1, screencopy_setup, screencopy_bench, screencopy_cleanup, screencopy_msg, 10 }, X { "screencopy100", 1, screencopy_setup, screencopy_bench, screencopy_cleanup, screencopy_msg, 100 }, X { "screencopy400", 1, screencopy_setup, screencopy_bench, screencopy_cleanup, screencopy_msg, 400 }, X { "screencopy500", 2, screencopy_setup, screencopy_bench, screencopy_cleanup, screencopy_msg, 500 }, X X { "scroll", 1, scroll_setup, scroll_bench, scroll_cleanup, scroll_msg, 16 }, X X { "pixmapcopy2", 3, pixmapcopy_setup, pixmapcopy_bench, pixmapcopy_cleanup, pixmapcopy_msg, 2 }, X { "pixmapcopy10", 2, pixmapcopy_setup, pixmapcopy_bench, pixmapcopy_cleanup, pixmapcopy_msg, 10 }, X { "pixmapcopy100", 2, pixmapcopy_setup, pixmapcopy_bench, pixmapcopy_cleanup, pixmapcopy_msg, 100 }, X { "pixmapcopy400", 2, pixmapcopy_setup, pixmapcopy_bench, pixmapcopy_cleanup, pixmapcopy_msg, 400 }, X { "pixmapcopy500", 3, pixmapcopy_setup, pixmapcopy_bench, pixmapcopy_cleanup, pixmapcopy_msg, 500 }, X X { "bitmapcopy2", 2, bitmapcopy_setup, bitmapcopy_bench, bitmapcopy_cleanup, bitmapcopy_msg, 2 }, X { "bitmapcopy10", 1, bitmapcopy_setup, bitmapcopy_bench, bitmapcopy_cleanup, bitmapcopy_msg, 10 }, X { "bitmapcopy100", 1, bitmapcopy_setup, bitmapcopy_bench, bitmapcopy_cleanup, bitmapcopy_msg, 100 }, X { "bitmapcopy400", 1, bitmapcopy_setup, bitmapcopy_bench, bitmapcopy_cleanup, bitmapcopy_msg, 400 }, X { "bitmapcopy500", 2, bitmapcopy_setup, bitmapcopy_bench, bitmapcopy_cleanup, bitmapcopy_msg, 500 }, X X { "imagestring:fixed",1, imagestring_setup, imagestring_bench, imagestring_cleanup, imagestring_msg, (unsigned)"fixed" }, X { "imagestring:6x12", 2, imagestring_setup, imagestring_bench, imagestring_cleanup, imagestring_msg, (unsigned)"6x12" }, X { "imagestring:8x13", 2, imagestring_setup, imagestring_bench, imagestring_cleanup, imagestring_msg, (unsigned)"8x13" }, X { "imagestring:9x15", 2, imagestring_setup, imagestring_bench, imagestring_cleanup, imagestring_msg, (unsigned)"9x15" }, X X { "complex1", 1, complex1_setup, complex1_bench, complex1_cleanup, complex1_msg, 0 }, X X { "", 99, NOFUNC, NOFUNC, NOFUNC, NOFUNC, 0 }, X}; END_OF_FILE if test 12065 -ne `wc -c <'benches.h'`; then echo shar: \"'benches.h'\" unpacked with wrong size! fi # end of 'benches.h' fi if test -f 'main.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'main.c'\" else echo shar: Extracting \"'main.c'\" \(6794 characters\) sed "s/^X//" >'main.c' <<'END_OF_FILE' static char SCCSID[] = "@(#)main.c 1.2 89/02/13"; X/* X * Copyright 1989 Siemens X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, provided X * that the above copyright notice appear in all copies and that both that X * copyright notice and this permission notice appear in supporting X * documentation, and that the name of Siemens not be used in advertising or X * publicity pertaining to distribution of the software without specific, X * written prior permission. Siemens makes no representations about the X * suitability of this software for any purpose. It is provided "as is" X * without express or implied warranty. X * X * Author: Claus Gittinger, Siemens Munich, unido!sinix!claus@uunet.uu.net X */ X X/* X * xbench X * X * measure performance X * X * written Feb. '89 by claus X */ X#include <stdio.h> X#include <X11/Xlib.h> X#include <X11/Xutil.h> X#include "patchlevel.h" X Display *dpy; Window rootWin, win; int sync; int screen; int screenWidth, screenHeight; int onlyCount, exclCount; char *onlyList[100]; char *exclList[100]; X/* X * since the bench is really a graphics benchmark, X * I do not want to have daemons (rwhod ...) and other stuff X * like that to disturb me. X * since I cannot remove them, best I can do is to run the X * benchmarks more than once and take the BEST time - not the X * average. This minimizes the influence of sync. rwhod etc... X * X * the number of runs is defined below. X * since every run takes about 10 sec's, this gives 30 secs for every X * test. X */ static int nruns = 3; X main(argc,argv) X int argc; X char **argv; X{ X Visual visual; X XSetWindowAttributes xswa; X int timeGoal = 10; X char **ap; X char *cp; X char *displayName = NULL; X XSizeHints szhint; X int list = 0; X int ask = 0; X int level = 1; X int ac; X X sync = 0; X onlyCount = 0; X exclCount = 0; X for (ap = &argv[1], ac=argc-1; ac; ac--) { X cp = *ap++; X if (strcmp(cp, "-display") == 0) { X displayName = *ap++; ac--; X } else if (strcmp(cp, "-level") == 0) { X cp = *ap++; ac--; X sscanf(cp, "%d", &level); X } else if (strcmp(cp, "-nruns") == 0) { X cp = *ap++; ac--; X sscanf(cp, "%d", &nruns); X } else if (strcmp(cp, "-timegoal") == 0) { X cp = *ap++; ac--; X sscanf(cp, "%d", &timeGoal); X } else if (strcmp(cp, "-sync") == 0) { X sync++; X } else if (strcmp(cp, "-ask") == 0) { X ask++; X } else if (strcmp(cp, "-help") == 0) { X list++; X } else if (strcmp(cp, "-only") == 0) { X onlyList[onlyCount++] = *ap++; ac--; X level = 99; X } else if (strcmp(cp, "-not") == 0) { X exclList[exclCount++] = *ap++; ac--; X } else X usage(); X } X X onlyList[onlyCount] = NULL; X exclList[exclCount] = NULL; X X if ((level<1) || list) { X listBenches(); X exit(0); X } X X dpy = XOpenDisplay(displayName); X if ( dpy == NULL ) { X fprintf(stderr, "can't open DISPLAY \n"); X exit(1); X } X X screen = DefaultScreen(dpy); X screenWidth = DisplayWidth(dpy, screen); X screenHeight = DisplayHeight(dpy, screen); X rootWin = RootWindow(dpy, screen); X X serverinfo(dpy, timeGoal); X X /* X * create a full screen window .. X */ X visual.visualid = CopyFromParent; X xswa.backing_store = NotUseful; X xswa.event_mask = StructureNotifyMask; X xswa.background_pixel = BlackPixel(dpy, screen); X xswa.override_redirect = True; X win = XCreateWindow(dpy, rootWin, X 0, 0, screenWidth, screenHeight, X 0, X DefaultDepth(dpy, screen), X InputOutput, &visual, X CWEventMask | CWBackPixel | X CWOverrideRedirect, X &xswa); X X if (win == (Window)0) { X fprintf(stderr, "can't create window\n"); X exit(1); X } X szhint.flags = PSize | PPosition; X szhint.x = 0; X szhint.y = 0; X szhint.width = screenWidth; X szhint.height = screenHeight; X XSetStandardProperties(dpy, win, "xbench", "should not be iconified", X (Pixmap)0, argv, argc, &szhint); X X XSync(dpy, 0); X X doBenches(dpy, win, ask, nruns, timeGoal, level, onlyList, exclList); X X XCloseDisplay(dpy); X exit(0); X} X usage() { X fprintf(stderr, "usage: xbench [options]\n"); X fprintf(stderr, " allowed options:\n"); X fprintf(stderr, " -display name ................. define server\n"); X fprintf(stderr, " -level number (default 1) ...... define number of tests made\n"); X fprintf(stderr, " -timeGoal seconds (default 10) . runtime per test\n"); X fprintf(stderr, " -nruns number (default 3) ...... runs per test\n"); X fprintf(stderr, " -help .......................... print list of available tests\n"); X fprintf(stderr, " -only testname ................. run named test only\n"); X fprintf(stderr, " -not testname .................. do not run named test\n"); X fprintf(stderr, " -ask ........................... interactive mode\n"); X fprintf(stderr, " -sync .......................... sync for slow operations\n"); X exit(1); X} X serverinfo(dpy, timeGoal) Display *dpy; X{ X char buffer[128]; X X printf("==================================================\n"); X printf("GENERAL INFORMATION\n"); X printf("\n"); X fprintf(stderr, "describe brand/configuration of SERVER machine (1 line)\n"); X fprintf(stderr, "(example: XYZ-891 with steam-engine [return]\n"); X gets(buffer); X printf("server: %s\n", buffer); X fprintf(stderr, "describe brand/configuration of CLIENT machine (1 line)\n"); X gets(buffer); X printf("client: %s\n", buffer); X fprintf(stderr, "describe communication used (1 line)\n"); X fprintf(stderr, "(example: 10Mb ether or 19600 slip ..)\n"); X gets(buffer); X printf("communication: %s\n", buffer); X fprintf(stderr, "any additional notes (1 line)\n"); X gets(buffer); X printf("notes: %s\n", buffer); X printf("\n"); X printf("==================================================\n"); X printf("SERVER INFORMATION\n"); X printf("\n"); X printf("Servervendor : %s\n",ServerVendor(dpy)); X printf("XSERVER version : %d.%d\n",ProtocolVersion(dpy), VendorRelease(dpy)); X printf("Revision : %d\n",ProtocolRevision(dpy)); X printf("Defaultdepth rootwindow : %d\n",DefaultDepth(dpy,0)); X printf("Server Byte-Order : %s\n",((ImageByteOrder(dpy) X == MSBFirst) ? "MSBFirst" : "LSBFirst" )); X printf("Server BitmapBitOrder : %s\n",((BitmapBitOrder(dpy) X == MSBFirst) ? "MSBFirst" : "LSBFirst" )); X printf("DisplayWidth : %d\n",DisplayWidth(dpy,0)); X printf("DisplayHeight : %d\n",DisplayHeight(dpy,0)); X printf("\n"); X printf("==================================================\n"); X printf("XBENCH INFORMATION\n"); X printf("VERSION: %d TIMEGOAL = %d sec; NRUNS = %d", X PATCHLEVEL, timeGoal, nruns); X if (sync) X printf("; SYNC"); X printf("\n"); X printf("\n"); X} END_OF_FILE if test 6794 -ne `wc -c <'main.c'`; then echo shar: \"'main.c'\" unpacked with wrong size! fi # end of 'main.c' fi if test -f 'results/sun3-160.R2.out' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'results/sun3-160.R2.out'\" else echo shar: Extracting \"'results/sun3-160.R2.out'\" \(6125 characters\) sed "s/^X//" >'results/sun3-160.R2.out' <<'END_OF_FILE' X================================================== GENERAL INFORMATION X server: sun 3/160 (R2) client: same communication: unix socket notes: sunOS 3.4 - plain (untuned) X11R2 X X================================================== SERVER INFORMATION X Servervendor : MIT X Consortium XXSERVER version : 11.2 Revision : 0 Defaultdepth rootwindow : 1 Server Byte-Order : MSBFirst Server BitmapBitOrder : MSBFirst DisplayWidth : 1152 DisplayHeight : 900 X X================================================== XXBENCH INFORMATION VERSION: 1 TIMEGOAL = 10 sec; NRUNS = 3 X X========= line10 ========= LINES X X42240 vectors of len. 10 in 11 secs rate = 3840.00 vectors/sec X========= line100 ========= LINES X X20736 vectors of len. 100 in 10 secs rate = 2073.60 vectors/sec X========= line400 ========= LINES X X8448 vectors of len. 400 in 12 secs rate = 704.00 vectors/sec X========= dline10 ========= DASHED LINES X X12288 dashed vectors of len. 10 in 11 secs rate = 1117.09 vectors/sec X========= dline100 ========= DASHED LINES X X3072 dashed vectors of len. 100 in 14 secs rate = 219.43 vectors/sec X========= dline400 ========= DASHED LINES X X1536 dashed vectors of len. 400 in 28 secs rate = 54.86 vectors/sec X========= wline10 ========= WIDE LINES X X2304 wide vectors (linewidth=5) of len. 10 in 18 secs rate = 128.00 vectors/sec X========= wline100 ========= WIDE LINES X X1536 wide vectors (linewidth=5) of len. 100 in 37 secs rate = 41.51 vectors/sec X========= wline400 ========= WIDE LINES X X1536 wide vectors (linewidth=5) of len. 400 in 121 secs rate = 12.69 vectors/sec X========= rects10 ========= RECTANGLES X X22784 rectangles with 10 pixel sides in 10 secs rate = 2278.40 rectangles/sec (91136 Pixels/sec) X========= rects100 ========= RECTANGLES X X11776 rectangles with 100 pixel sides in 11 secs rate = 1070.55 rectangles/sec (428218 Pixels/sec) X========= rects400 ========= RECTANGLES X X4864 rectangles with 400 pixel sides in 12 secs rate = 405.33 rectangles/sec (648533 Pixels/sec) X========= fillrects10 ========= XFILLED RECTANGLES X X50176 rectangles with 10 pixel sides in 10 secs rate = 5017.60 rectangles/sec (501760 Pixels/sec) X========= fillrects100 ========= XFILLED RECTANGLES X X10752 rectangles with 100 pixel sides in 11 secs rate = 977.45 rectangles/sec (9774545 Pixels/sec) X========= fillrects400 ========= XFILLED RECTANGLES X X2816 rectangles with 400 pixel sides in 17 secs rate = 165.65 rectangles/sec (26503529 Pixels/sec) X========= tiledrects10 ========= TILE-FILLED RECTANGLES X X33536 rectangles with 10 pixel sides in 10 secs rate = 3353.60 rectangles/sec (335360 Pixels/sec) X========= tiledrects100 ========= TILE-FILLED RECTANGLES X X4864 rectangles with 100 pixel sides in 12 secs rate = 405.33 rectangles/sec (4053333 Pixels/sec) X========= tiledrects400 ========= TILE-FILLED RECTANGLES X X1280 rectangles with 400 pixel sides in 26 secs rate = 49.23 rectangles/sec (7876923 Pixels/sec) X========= stippledrects10 ========= STIPPLE-FILLED RECTANGLES X X8960 rectangles with 10 pixel sides in 11 secs rate = 814.55 rectangles/sec (81454 Pixels/sec) X========= stippledrects100 ========= STIPPLE-FILLED RECTANGLES X X2304 rectangles with 100 pixel sides in 15 secs rate = 153.60 rectangles/sec (1536000 Pixels/sec) X========= stippledrects400 ========= STIPPLE-FILLED RECTANGLES X X1280 rectangles with 400 pixel sides in 35 secs rate = 36.57 rectangles/sec (5851428 Pixels/sec) X========= invrects10 ========= INVERTED RECTANGLES X X35261 rectangles with 10 pixel sides in 10 secs rate = 3526.10 rectangles/sec (352610 Pixels/sec) X========= invrects100 ========= INVERTED RECTANGLES X X8601 rectangles with 100 pixel sides in 11 secs rate = 781.91 rectangles/sec (7819090 Pixels/sec) X========= invrects400 ========= INVERTED RECTANGLES X X1721 rectangles with 400 pixel sides in 20 secs rate = 86.05 rectangles/sec (13768000 Pixels/sec) X========= arcs10 ========= ARCS X X2722 arcs with 10 pixel diameter in 12 secs rate = 226.83 arcs/sec X========= arcs100 ========= ARCS X X1532 arcs with 100 pixel diameter in 13 secs rate = 117.85 arcs/sec X========= arcs400 ========= ARCS X X1022 arcs with 400 pixel diameter in 15 secs rate = 68.13 arcs/sec X========= filledarcs10 ========= XFILLED ARCS X X2042 filled arcs with 10 pixel diameter in 12 secs rate = 170.17 filled arcs/sec X========= filledarcs100 ========= XFILLED ARCS X X1192 filled arcs with 100 pixel diameter in 14 secs rate = 85.14 filled arcs/sec X========= filledarcs400 ========= XFILLED ARCS X X682 filled arcs with 400 pixel diameter in 19 secs rate = 35.89 filled arcs/sec X========= filledpoly100 ========= XFILLED POLYGONS X X1084 filled polygons with 5 points (size 100) in 12 secs rate = 90.33 filled polygons/sec X========= screencopy10 ========= COPYAREA (SCREEN->SCREEN) X X1464 copies with 10 pixel sides in 13 secs rate = 112.62 copies/sec (11261 Pixels/sec) X========= screencopy100 ========= COPYAREA (SCREEN->SCREEN) X X1026 copies with 100 pixel sides in 14 secs rate = 73.29 copies/sec (732857 Pixels/sec) X========= screencopy400 ========= COPYAREA (SCREEN->SCREEN) X X444 copies with 400 pixel sides in 28 secs rate = 15.86 copies/sec (2537142 Pixels/sec) X========= scroll ========= SCROLL X X585 scrolls (area: 640 x 400) in 16 secs rate = 25.43 scrolls/sec (6511304 Pixels/sec) X========= bitmapcopy10 ========= COPYPLANE (BITMAP->SCREEN) X X1281 copies with 10 pixel sides in 13 secs rate = 98.54 copies/sec (9853 Pixels/sec) X========= bitmapcopy100 ========= COPYPLANE (BITMAP->SCREEN) X X769 copies with 100 pixel sides in 15 secs rate = 51.27 copies/sec (512666 Pixels/sec) X========= bitmapcopy400 ========= COPYPLANE (BITMAP->SCREEN) X X385 copies with 400 pixel sides in 39 secs rate = 9.87 copies/sec (1579487 Pixels/sec) X========= imagestring:fixed ========= DRAW IMAGE STRING - font="fixed" (height = 13) X X61992 chars in 11 secs rate = 5635.64 chars/sec X========= complex1 ========= WINDOW CREATE/DRAW/DESTROY X X165 runs 10 secs rate = 16.50 runs/sec X================================================== X END_OF_FILE if test 6125 -ne `wc -c <'results/sun3-160.R2.out'`; then echo shar: \"'results/sun3-160.R2.out'\" unpacked with wrong size! fi # end of 'results/sun3-160.R2.out' fi if test -f 'results/sun3-50.R3.out' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'results/sun3-50.R3.out'\" else echo shar: Extracting \"'results/sun3-50.R3.out'\" \(6750 characters\) sed "s/^X//" >'results/sun3-50.R3.out' <<'END_OF_FILE' XFrom sinix!unido!uka!gitting Mon Mar 20 19:45:44 1989 Received: by athen.sp4.siemens.de X at Mon, 20 Mar 89 19:45:19 +0100 (5.52/SIE-0.1) Message-Id: <8903201710.AS10131@unido.irb.informatik.uni-dortmund.de> Received: from uka.uucp X by unido.irb.informatik.uni-dortmund.de with uucp via EUnet X for sinix X id AS10131; Mon, 20 Mar 89 18:10:37 +0100 Received: from i30s16 by iraun1.ira.uka.de id aa07727; 20 Mar 89 16:28 MET Date: Mon, 20 Mar 89 16:27:35 MET XFrom: "Juergen Gittinger" <gitting%uka@unido> To: claus%uni-dortmund.de@athen Subject: xbench Status: R X Hallo Claus ! X Hier die neuen xbench-Werte fuer die Sun3/50. X X Tschau X Juergen X X================================================== GENERAL INFORMATION X server: Sun3/50 (R3) client: Sun3/50 communication: unix-socket notes: X X================================================== SERVER INFORMATION X Servervendor : MIT X Consortium XXSERVER version : 11.3 Revision : 0 Defaultdepth rootwindow : 1 Server Byte-Order : MSBFirst Server BitmapBitOrder : MSBFirst DisplayWidth : 1152 DisplayHeight : 900 X X================================================== XXBENCH INFORMATION VERSION: 1 TIMEGOAL = 10 sec; NRUNS = 3 X X========= line10 ========= LINES X X34560 vectors of len. 10 in 10 secs rate = 3456.00 vectors/sec X========= line100 ========= LINES X X19200 vectors of len. 100 in 11 secs rate = 1745.45 vectors/sec X========= line400 ========= LINES X X8448 vectors of len. 400 in 12 secs rate = 704.00 vectors/sec X========= dline10 ========= DASHED LINES X X9216 dashed vectors of len. 10 in 12 secs rate = 768.00 vectors/sec X========= dline100 ========= DASHED LINES X X3072 dashed vectors of len. 100 in 18 secs rate = 170.67 vectors/sec X========= dline400 ========= DASHED LINES X X1536 dashed vectors of len. 400 in 33 secs rate = 46.55 vectors/sec X========= wline10 ========= WIDE LINES X X2304 wide vectors (linewidth=5) of len. 10 in 29 secs rate = 79.45 vectors/sec X========= wline100 ========= WIDE LINES X X1536 wide vectors (linewidth=5) of len. 100 in 76 secs rate = 20.21 vectors/sec X========= wline400 ========= WIDE LINES X X1536 wide vectors (linewidth=5) of len. 400 in 256 secs rate = 6.00 vectors/sec X========= rects10 ========= RECTANGLES X X18944 rectangles with 10 pixel sides in 11 secs rate = 1722.18 rectangles/sec (68887 Pixels/sec) X========= rects100 ========= RECTANGLES X X11776 rectangles with 100 pixel sides in 11 secs rate = 1070.55 rectangles/sec (428218 Pixels/sec) X========= rects400 ========= RECTANGLES X X5888 rectangles with 400 pixel sides in 13 secs rate = 452.92 rectangles/sec (724676 Pixels/sec) X========= fillrects10 ========= XFILLED RECTANGLES X X39168 rectangles with 10 pixel sides in 10 secs rate = 3916.80 rectangles/sec (391680 Pixels/sec) X========= fillrects100 ========= XFILLED RECTANGLES X X11264 rectangles with 100 pixel sides in 11 secs rate = 1024.00 rectangles/sec (10240000 Pixels/sec) X========= fillrects400 ========= XFILLED RECTANGLES X X2816 rectangles with 400 pixel sides in 16 secs rate = 176.00 rectangles/sec (28160000 Pixels/sec) X========= tiledrects10 ========= TILE-FILLED RECTANGLES X X27392 rectangles with 10 pixel sides in 10 secs rate = 2739.20 rectangles/sec (273920 Pixels/sec) X========= tiledrects100 ========= TILE-FILLED RECTANGLES X X4608 rectangles with 100 pixel sides in 14 secs rate = 329.14 rectangles/sec (3291428 Pixels/sec) X========= tiledrects400 ========= TILE-FILLED RECTANGLES X X1280 rectangles with 400 pixel sides in 31 secs rate = 41.29 rectangles/sec (6606451 Pixels/sec) X========= stippledrects10 ========= STIPPLE-FILLED RECTANGLES X X13056 rectangles with 10 pixel sides in 11 secs rate = 1186.91 rectangles/sec (118690 Pixels/sec) X========= stippledrects100 ========= STIPPLE-FILLED RECTANGLES X X2304 rectangles with 100 pixel sides in 15 secs rate = 153.60 rectangles/sec (1536000 Pixels/sec) X========= stippledrects400 ========= STIPPLE-FILLED RECTANGLES X X1280 rectangles with 400 pixel sides in 36 secs rate = 35.56 rectangles/sec (5688888 Pixels/sec) X========= invrects10 ========= INVERTED RECTANGLES X X30101 rectangles with 10 pixel sides in 10 secs rate = 3010.10 rectangles/sec (301010 Pixels/sec) X========= invrects100 ========= INVERTED RECTANGLES X X9459 rectangles with 100 pixel sides in 11 secs rate = 859.91 rectangles/sec (8599090 Pixels/sec) X========= invrects400 ========= INVERTED RECTANGLES X X2151 rectangles with 400 pixel sides in 18 secs rate = 119.50 rectangles/sec (19120000 Pixels/sec) X========= arcs10 ========= ARCS X X342 arcs with 10 pixel diameter in 71 secs rate = 4.82 arcs/sec X========= arcs100 ========= sync ARCS X X14 arcs with 100 pixel diameter in 11 secs rate = 1.27 arcs/sec X========= arcs400 ========= sync ARCS X X6 arcs with 400 pixel diameter in 11 secs rate = 0.55 arcs/sec X========= filledarcs10 ========= XFILLED ARCS X X512 filled arcs with 10 pixel diameter in 33 secs rate = 15.52 filled arcs/sec X========= filledarcs100 ========= sync XFILLED ARCS X X60 filled arcs with 100 pixel diameter in 11 secs rate = 5.45 filled arcs/sec X========= filledarcs400 ========= sync XFILLED ARCS X X26 filled arcs with 400 pixel diameter in 10 secs rate = 2.60 filled arcs/sec X========= filledpoly100 ========= XFILLED POLYGONS X X1084 filled polygons with 5 points (size 100) in 12 secs rate = 90.33 filled polygons/sec X========= screencopy10 ========= COPYAREA (SCREEN->SCREEN) X X1902 copies with 10 pixel sides in 12 secs rate = 158.50 copies/sec (15850 Pixels/sec) X========= screencopy100 ========= COPYAREA (SCREEN->SCREEN) X X1170 copies with 100 pixel sides in 14 secs rate = 83.57 copies/sec (835714 Pixels/sec) X========= screencopy400 ========= COPYAREA (SCREEN->SCREEN) X X444 copies with 400 pixel sides in 25 secs rate = 17.76 copies/sec (2841600 Pixels/sec) X========= scroll ========= SCROLL X X585 scrolls (area: 640 x 400) in 16 secs rate = 26.59 scrolls/sec (6807272 Pixels/sec) X========= bitmapcopy10 ========= COPYPLANE (BITMAP->SCREEN) X X2561 copies with 10 pixel sides in 11 secs rate = 232.82 copies/sec (23281 Pixels/sec) X========= bitmapcopy100 ========= COPYPLANE (BITMAP->SCREEN) X X897 copies with 100 pixel sides in 17 secs rate = 52.76 copies/sec (527647 Pixels/sec) X========= bitmapcopy400 ========= COPYPLANE (BITMAP->SCREEN) X X385 copies with 400 pixel sides in 47 secs rate = 8.19 copies/sec (1310638 Pixels/sec) X========= imagestring:fixed ========= DRAW IMAGE STRING - font="fixed" (height = 13) X X55104 chars in 11 secs rate = 5009.45 chars/sec X========= complex1 ========= WINDOW CREATE/DRAW/DESTROY X X153 runs 10 secs rate = 15.30 runs/sec X================================================== X X X END_OF_FILE if test 6750 -ne `wc -c <'results/sun3-50.R3.out'`; then echo shar: \"'results/sun3-50.R3.out'\" unpacked with wrong size! fi # end of 'results/sun3-50.R3.out' fi if test -f 'scripts/detail.awk' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'scripts/detail.awk'\" else echo shar: Extracting \"'scripts/detail.awk'\" \(9127 characters\) sed "s/^X//" >'scripts/detail.awk' <<'END_OF_FILE' BEGIN { X nplanes = "?"; X width = "?"; X height = "?"; X vendor = "?"; X vsn = "?"; X server = "?"; X client = "?"; X com = "?"; X s = "?"; X note = ""; X X value["line10"] = "?"; X value["line100"] = "?"; X value["line400"] = "?"; X value["dline10"] = "?"; X value["dline100"] = "?"; X value["dline400"] = "?"; X value["wline10"] = "?"; X value["wline100"] = "?"; X value["wline400"] = "?"; X value["rects10"] = "?"; X value["rects100"] = "?"; X value["rects400"] = "?"; X value["fillrects10"] = "?"; X value["fillrects100"] = "?"; X value["fillrects400"] = "?"; X value["tiledrects10"] = "?"; X value["tiledrects100"] = "?"; X value["tiledrects400"] = "?"; X value["stippledrects10"] = "?"; X value["stippledrects100"] = "?"; X value["stippledrects400"] = "?"; X value["arcs10"] = "?"; X value["arcs100"] = "?"; X value["arcs400"] = "?"; X value["filledarcs10"] = "?"; X value["filledarcs100"] = "?"; X value["filledarcs400"] = "?"; X value["filledpoly100"] = "?"; X value["invrects10"] = "?"; X value["invrects100"] = "?"; X value["invrects400"] = "?"; X value["screencopy10"] = "?"; X value["screencopy100"] = "?"; X value["screencopy400"] = "?"; X value["scroll"] = "?"; X value["bitmapcopy10"] = "?"; X value["bitmapcopy100"] = "?"; X value["bitmapcopy400"] = "?"; X value["string"] = "?"; X value["complex1"] = "?"; X } X X/server:/ { X server = $2 X if ( $3 != "") { X server = server " " $3 X } X if ( $4 != "") { X server = server " " $4 X } X if ( $5 != "") { X server = server " " $5 X } X if ( $6 != "") { X server = server " " $6 X } X if ( $7 != "") { X server = server " " $7 X } X if ( $8 != "") { X server = server " " $8 X } X if ( $9 != "") { X server = server " " $9 X } X } X X/client:/ { X client = $2 X if ( $3 != "") { X client = client " " $3 X } X if ( $4 != "") { X client = client " " $4 X } X if ( $5 != "") { X client = client " " $5 X } X if ( $6 != "") { X client = client " " $6 X } X if ( $7 != "") { X client = client " " $7 X } X if ( $8 != "") { X client = client " " $8 X } X if ( $9 != "") { X client = client " " $9 X } X } X X/communication:/{ X com = $2 X if ( $3 != "") { X com = com " " $3 X } X if ( $4 != "") { X com = com " " $4 X } X if ( $5 != "") { X com = com " " $5 X } X if ( $6 != "") { X com = com " " $6 X } X if ( $7 != "") { X com = com " " $7 X } X if ( $8 != "") { X com = com " " $8 X } X if ( $9 != "") { X com = com " " $9 X } X } X X/notes:/ { X note = $2 X if ( $3 != "") { X note = note " " $3 X } X if ( $4 != "") { X note = note " " $4 X } X if ( $5 != "") { X note = note " " $5 X } X if ( $6 != "") { X note = note " " $6 X } X if ( $7 != "") { X note = note " " $7 X } X if ( $8 != "") { X note = note " " $8 X } X if ( $9 != "") { X note = note " " $9 X } X } X X/Servervendor / { X vendor = $3; X if ( $4 != "") { X vendor = vendor " " $4 X } X if ( $5 != "") { X vendor = vendor " " $5 X } X if ( $6 != "") { X vendor = vendor " " $6 X } X if ( $7 != "") { X vendor = vendor " " $7 X } X if ( $8 != "") { X vendor = vendor " " $8 X } X if ( $9 != "") { X vendor = vendor " " $9 X } X } X/version / { X vsn = $4; X if ( $5 != "") { X vsn = vsn " " $5 X } X if ( $6 != "") { X vsn = vsn " " $6 X } X if ( $7 != "") { X vsn = vsn " " $7 X } X } X/Defaultdepth / { nplanes = $4 } X/DisplayWidth / { width = $3 } X/DisplayHeight / { height = $3 } X X/ line10 / { x = "line10"; } X/ line100 / { x = "line100"; } X/ line400 / { x = "line400"; } X/ dline10 / { x = "dline10"; } X/ dline100 / { x = "dline100"; } X/ dline400 / { x = "dline400"; } X/ wline10 / { x = "wline10"; } X/ wline100 / { x = "wline100"; } X/ wline400 / { x = "wline400"; } X/ rects10 / { x = "rects10"; } X/ rects100 / { x = "rects100"; } X/ rects400 / { x = "rects400"; } X/ fillrects10 / { x = "fillrects10"; } X/ fillrects100 / { x = "fillrects100"; } X/ fillrects400 / { x = "fillrects400"; } X/ tiledrects10 / { x = "tiledrects10"; } X/ tiledrects100 / { x = "tiledrects100"; } X/ tiledrects400 / { x = "tiledrects400"; } X/ stippledrects10 / { x = "stippledrects10"; } X/ stippledrects100 / { x = "stippledrects100"; } X/ stippledrects400 / { x = "stippledrects400"; } X/ arcs10 / { x = "arcs10"; } X/ arcs100 / { x = "arcs100"; } X/ arcs400 / { x = "arcs400"; } X/ filledarcs10 / { x = "filledarcs10"; } X/ filledarcs100 / { x = "filledarcs100"; } X/ filledarcs400 / { x = "filledarcs400"; } X/ filledpoly100 / { x = "filledpoly100"; } X/ invrects10 / { x = "invrects10"; } X/ invrects100 / { x = "invrects100"; } X/ invrects400 / { x = "invrects400"; } X/ screencopy10 / { x = "screencopy10"; } X/ screencopy100 / { x = "screencopy100"; } X/ screencopy400 / { x = "screencopy400"; } X/ scroll / { x = "scroll"; } X/ bitmapcopy10 / { x = "bitmapcopy10"; } X/ bitmapcopy100 / { x = "bitmapcopy100"; } X/ bitmapcopy400 / { x = "bitmapcopy400"; } X/ imagestring/ { x = "string"; } X/ complex1 / { x = "complex1"; } X X/rate =/ { X value[x] = $3; X x = "dummy"; w = 1 X } X X/NOT RUN/ { X x = "dummy"; w = 1 X } X XEND { X print ".bp" X print ".NH" X print server X print ".LP" X print ".nf" X print "Vendor: " vendor ; X print "Release: " vsn ; X print "Display: " width " x " height " x " nplanes ; X print " " ; X print "Notes : " note ; X print " " ; X print "Connection for test: " com ; X print "Machine on the other side: " client; X print " " ; X print ".fi" ; X print ".sp" ; X print ".TS" ; X print ".box, tab(!);" ; X print "l | c | c | c | c | r" X print "l | r | r | r | r | r." X print "test!10!100!400!!" X print "=" X print "lines!" value["line10"] "!" value["line100"] "!" value["line400"] "!!lines/sec" X print "_" X print "dashed lines!" value["dline10"] "!" value["dline100"] "!" value["dline400"] "!!lines/sec" X print "_" X print "wide lines!" value["wline10"] "!" value["wline100"] "!" value["wline400"] "!!lines/sec" X print "_" X print "rectangles !" value["rects10"] "!" value["rects100"] "!" value["rects400"] "!!rectangles/sec" X print "=" X print "filled rectangles !" value["fillrects10"] "!" value["fillrects100"] "!" value["fillrects400"] "!!rectangles/sec" X print "_" X print "tiled rectangles !" value["tiledrects10"] "!" value["tiledrects100"] "!" value["tiledrects400"] "!!rectangles/sec" X print "_" X print "stippled rectangles !" value["stippledrects10"] "!" value["stippledrects100"] "!" value["stippledrects400"] "!!rectangles/sec" X print "=" X print "arcs!" value["arcs10"] "!" value["arcs100"] "!" value["arcs400"] "!!arcs/sec" X print "_" X print "filled arcs!" value["filledarcs10"] "!" value["filledarcs100"] "!" value["filledarcs400"] "!!arcs/sec" X print "=" X print "filled polygon!" " " "!" value["filledpoly100"] "!" " " "!!fills/sec" X print "=" X print "screen copy!" value["screencopy10"] "!" value["screencopy100"] "!" value["screencopy400"] "!!copies/sec" X print "_" X print "scrolls!" " ! ! !" value["scroll"] "!scrolls/sec" X print "_" X print "bitmap copy!" value["bitmapcopy10"] "!" value["bitmapcopy100"] "!" value["bitmapcopy400"] "!!copies/sec" X print "_" X print "invert rectangles !" value["invrects10"] "!" value["invrects100"] "!" value["invrects400"] "!!rectangles/sec" X print "=" X print "text !" " ! ! !" value["string"] "!chars/sec" X print "=" X print "complex!" " ! ! !" value["complex1"] "!runs/sec" X print "=" X print ".TE" X print ".LP" X } END_OF_FILE if test 9127 -ne `wc -c <'scripts/detail.awk'`; then echo shar: \"'scripts/detail.awk'\" unpacked with wrong size! fi # end of 'scripts/detail.awk' fi if test -f 'scripts/xstones.awk' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'scripts/xstones.awk'\" else echo shar: Extracting \"'scripts/xstones.awk'\" \(9498 characters\) sed "s/^X//" >'scripts/xstones.awk' <<'END_OF_FILE' BEGIN { X countedWeight["all"] = 0; X missedWeight["all"] = 0; X runtime["all"] = 0; X X countedWeight["line"] = 0; X missedWeight["line"] = 0; X runtime["line"] = 0; X X countedWeight["fill"] = 0; X missedWeight["fill"] = 0; X runtime["fill"] = 0; X X countedWeight["blit"] = 0; X missedWeight["blit"] = 0; X runtime["blit"] = 0; X X countedWeight["arc"] = 0; X missedWeight["arc"] = 0; X runtime["arc"] = 0; X X countedWeight["text"] = 0; X missedWeight["text"] = 0; X runtime["text"] = 0; X X countedWeight["complex"] = 0; X missedWeight["complex"] = 0; X runtime["complex"] = 0; X X sunValue["line10"] = 3456.00; X sunValue["line100"] = 1745.45; X sunValue["line400"] = 704.00; X X sunValue["dline10"] = 768.00; X sunValue["dline100"] = 170.67; X sunValue["dline400"] = 46.55; X X sunValue["wline10"] = 79.45; X sunValue["wline100"] = 20.21; X sunValue["wline400"] = 6.00; X X sunValue["rects10"] = 1722.18; X sunValue["rects100"] = 1070.55; X sunValue["rects400"] = 452.92; X X sunValue["fillrects10"] = 3916.80; X sunValue["fillrects100"] = 1024.00; X sunValue["fillrects400"] = 176.00; X X sunValue["tiledrects10"] = 2739.20; X sunValue["tiledrects100"] = 329.14; X sunValue["tiledrects400"] = 41.29; X X sunValue["stippledrects10"] = 1186.91; X sunValue["stippledrects100"] = 153.60; X sunValue["stippledrects400"] = 35.56; X X sunValue["invrects10"] = 3010.10; X sunValue["invrects100"] = 859.91; X sunValue["invrects400"] = 119.50; X X sunValue["arcs10"] = 4.82; X sunValue["arcs100"] = 1.27; X sunValue["arcs400"] = 0.55; X X sunValue["filledarcs10"] = 15.52; X sunValue["filledarcs100"] = 5.45; X sunValue["filledarcs400"] = 2.60; X X sunValue["filledpoly100"] = 90.33; X X sunValue["screencopy10"] = 158.50; X sunValue["screencopy100"] = 83.57; X sunValue["screencopy400"] = 17.76; X X sunValue["scroll"] = 26.59; X X sunValue["bitmapcopy10"] = 232.82; X sunValue["bitmapcopy100"] = 52.76; X sunValue["bitmapcopy400"] = 8.19; X X sunValue["string"] = 5009.45; X X sunValue["complex1"] = 15.30; X } X X/ line10 / { x = "line10"; w = 300; g = "line"; } X/ line100 / { x = "line100"; w = 400; g = "line"; } X/ line400 / { x = "line400"; w = 300; g = "line"; } X/ dline10 / { x = "dline10"; w = 50; g = "line"; } X/ dline100 / { x = "dline100"; w = 150; g = "line"; } X/ dline400 / { x = "dline400"; w = 100; g = "line"; } X/ wline10 / { x = "wline10"; w = 50; g = "line"; } X/ wline100 / { x = "wline100"; w = 100; g = "line"; } X/ wline400 / { x = "wline400"; w = 50; g = "line"; } X/ rects10 / { x = "rects10"; w = 150; g = "line"; } X/ rects100 / { x = "rects100"; w = 250; g = "line"; } X/ rects400 / { x = "rects400"; w = 150; g = "line"; } X/ fillrects10 / { x = "fillrects10"; w = 350; g = "fill"; } X/ fillrects100 / { x = "fillrects100"; w = 450; g = "fill"; } X/ fillrects400 / { x = "fillrects400"; w = 350; g = "fill"; } X/ tiledrects10 / { x = "tiledrects10"; w = 150; g = "fill"; } X/ tiledrects100 / { x = "tiledrects100"; w = 250; g = "fill"; } X/ tiledrects400 / { x = "tiledrects400"; w = 150; g = "fill"; } X/ stippledrects10 / { x = "stippledrects10"; w = 50; g = "fill"; } X/ stippledrects100 / { x = "stippledrects100"; w = 100; g = "fill"; } X/ stippledrects400 / { x = "stippledrects400"; w = 50; g = "fill"; } X/ arcs10 / { x = "arcs10"; w = 50; g = "arc"; } X/ arcs100 / { x = "arcs100"; w = 100; g = "arc"; } X/ arcs400 / { x = "arcs400"; w = 50; g = "arc"; } X/ filledarcs10 / { x = "filledarcs10"; w = 50; g = "arc"; } X/ filledarcs100 / { x = "filledarcs100"; w = 100; g = "arc"; } X/ filledarcs400 / { x = "filledarcs400"; w = 50; g = "arc"; } X/ filledpoly100 / { x = "filledpoly100"; w = 200; g = "dummy"; } X/ invrects10 / { x = "invrects10"; w = 100; g = "blit"; } X/ invrects100 / { x = "invrects100"; w = 150; g = "blit"; } X/ invrects400 / { x = "invrects400"; w = 100; g = "blit"; } X/ screencopy10 / { x = "screencopy10"; w = 50; g = "blit"; } X/ screencopy100 / { x = "screencopy100"; w = 150; g = "blit"; } X/ screencopy400 / { x = "screencopy400"; w = 100; g = "blit"; } X/ scroll / { x = "scroll"; w =1000; g = "blit"; } X/ bitmapcopy10 / { x = "bitmapcopy10"; w = 50; g = "blit"; } X/ bitmapcopy100 / { x = "bitmapcopy100"; w = 100; g = "blit"; } X/ bitmapcopy400 / { x = "bitmapcopy400"; w = 50; g = "blit"; } X/ imagestring/ { x = "string"; w =3000; g = "text"; } X/ complex1 / { x = "complex1"; w = 800; g = "complex"; } X X/rate =/ { X if ( x != "dummy" ) { X ratio = $3 / sunValue[x]; X runtime["all"] = runtime["all"] + w/ratio; X countedWeight["all"] = countedWeight["all"] + w; X X runtime[g] = runtime[g] + w/ratio; X countedWeight[g] = countedWeight[g] + w; X x = "dummy"; w = 1 X } X } X X/NOT RUN/ { X if (x != "dummy") { X missedWeight["all"] = missedWeight["all"] + w; X missedWeight[g] = missedWeight[g] + w; X x = "dummy"; w = 1 X } X } X XEND { X cw = countedWeight["line"]; X mw = missedWeight["line"]; X rt = runtime["line"]; X allWeight = 10000; X X if (cw == 0) { X print "TOTAL ? lineStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f lineStones",text,stones); X print t; X } X X cw = countedWeight["fill"]; X mw = missedWeight["fill"]; X rt = runtime["fill"]; X X if (cw == 0) { X print "TOTAL ? fillStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f fillStones",text,stones); X print t; X } X X cw = countedWeight["blit"]; X mw = missedWeight["blit"]; X rt = runtime["blit"]; X X if (cw == 0) { X print "TOTAL ? blitStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f blitStones",text,stones); X print t; X } X X cw = countedWeight["arc"]; X mw = missedWeight["arc"]; X rt = runtime["arc"]; X X if (cw == 0) { X print "TOTAL ? arcStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f arcStones",text,stones); X print t; X } X X cw = countedWeight["text"]; X mw = missedWeight["text"]; X rt = runtime["text"]; X X if (cw == 0) { X print "TOTAL ? textStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f textStones",text,stones); X print t; X } X X cw = countedWeight["complex"]; X mw = missedWeight["complex"]; X rt = runtime["complex"]; X X if (cw == 0) { X print "TOTAL ? complexStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f complexStones",text,stones); X print t; X } X X cw = countedWeight["all"]; X mw = missedWeight["all"]; X rt = runtime["all"]; X X if (cw == 0) { X print "TOTAL ? xStones" X } else { X rt = (rt*allWeight)/cw; X if (mw > 0) { X text = "expected "; X } else { X text = ""; X } X X ratio = allWeight/rt; X stones = int(allWeight * ratio); X t = sprintf("TOTAL %s %8.0f xStones",text,stones); X print t; X } X } END_OF_FILE if test 9498 -ne `wc -c <'scripts/xstones.awk'`; then echo shar: \"'scripts/xstones.awk'\" unpacked with wrong size! fi # end of 'scripts/xstones.awk' fi echo shar: End of archive 3 \(of 4\). cp /dev/null ark3isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0