home *** CD-ROM | disk | FTP | other *** search
- Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
- Path: sparky!uunet!paladin.american.edu!auvm!UNC.BITNET!UNCSM1
- Message-ID: <SAS-L%92072211214815@VTVM2.BITNET>
- Newsgroups: bit.listserv.sas-l
- Date: Wed, 22 Jul 1992 11:20:00 EST
- Reply-To: Sally Muller <UNCSM1@UNC.BITNET>
- Sender: "SAS(r) Discussion" <SAS-L@UGA.BITNET>
- From: Sally Muller <UNCSM1@UNC.BITNET>
- Subject: Re: SAS Benchmarking Programs
- Comments: To: "R. Snyder" <rsnyder@lobby.ti.com>
- Lines: 601
-
- ----------------------------------------------------------------------
- SUMMARY: The ultimate benchmarking program?
- E-ADDR: uncsm1@unc.bitnet
- NAME: Sally Muller
- PH/ADDR: 919-962-6501 OIT CB#3455, UNC, Chapel Hill NC 27514
- ----------------------------------------------------------------------
- Bob Snyder who heard our local SAS users group was running
- benchmarks asked:
-
- > <stuff deleted>
- > Here at Texas Instruments in Sherman, TX we are beginning to
- > run SAS on a number of different platforms (HP9000/300 and
- > HP9000/700 class machines). We are becomming quite interrested
- > in comparing performance statistics between the machines and
- > under different circumstances. I was wondering if there are any
- > "standard" benchmarking programs in SAS that we might be able
- > to obtain?
- >
- > Bob Snyder
- > Texas Instruments, Inc.
- > PO Box 84, M/S 860
- > Sherman, TX 75090
-
- search of the SAS-L archives uncovered lots of valuable
- tuff but we have never really agreed upon a STANDARD SAS
- enchmarking program!?! Attached below are the programs I found
- osted on SAS-L, I probably missed some -- please let me know,
- nd also the machines on which they were run......WHICH one????
- If this sounds like another survey......you're absolutely right.
-
- ======================================================================== 44
- PC SAS 6.02 TESTBASE Benchmark
- From: "Nelson R. Pardee" <SASMAINT@SUVM>
- Nelson's (and Gary Katsanis) 1988 SUGI paper, "How Fast is the
- SAS system for Personal Computers on Various PC's," is the
- definitive work on benchmarking -- paper doesn't just talk about
- PCs but minis and mainframes. Nelson and Gary used the PC SAS
- 6.02 TESTBASE program as their benchmark. They note that although
- TESTBASE was never intended for benchmarking, since it
- "excercises many SAS features and PROCs; does alot of I/O; and
- the CPU gets a work out" it is a good benchmark program.
- Furthermore, "its standardized -- there is no question as to what
- it is." Machines: Everex, IBM PC/AT, IBM PC/XT, Zenith Z158,
- MAC IIX SOFTPC.
-
- From: bob parks <C27901RP@WUVMD>
- Bob too advocated TESTBASE 6.02:
- I was wondering what was wrong with the TESTBASE 6.02
- benchmark. It certainly was done on a number of machines and
- although I did not look at the point by point description of
- the new proposal, it seemed to satisfy most of the requirements.
-
- From: Peter Rikard <SSTSPLR@VCUVM1>
- I ran my test SAS programs (TESTBASE that came
- with SAS 6.02, copies on request) and timed the functions from
- start to end. (SAS 6.04, 386sx 16 mhz, 8 meg memory, using
- ramdisk for work files....) Times given are total elapsed time
- measured by SAS.
- <stuff deleted>
-
- Jim Mulherin also used TESTBASE 6.02.
- ========================================================================
- Evan G. Cooch and Jean Hardy Benchmark
-
- Postings to SAS-L by Paul Marsh, and Evan indicate that Evan and Jean
- Hardy developed some kind of benchmark program but I could never find
- it!!!!! Does anyone have it?
-
- Marsh said:
- 1) I echo the need to include PROC SORT in the benchmark even though
- the times generated may not be completely comparable across (or
- even within) platforms.
- 2) Besides test datasets, DATA steps, and PROC steps, the platform
- should request all salient system information from the benchmarker.
- For instance, on IBM PCs we need to know more that the size of the
- hard disk - we also need to know the interleave factor, amount of
- disk cache, etc. My guess is that what factors to include in this
- part of the survey will be harder to establish that the test datasets,
- etc.
- 3) (sorry, I thought of another thing). I participated in the Boston
- Computer Society review of PC statpaks a few years ago. THe first
- thing we did was, via e-mail, to try to establish what the 'test
- script' should be. That process took several months but was well
- worth it. The only reason that we could even complete that task
- was that we agreed that the test script should only address the
- very basics. If an individual wished to augment the script to
- address his/her situation, they could do so.
- 91
- From: "Evan G. Cooch" <COOCHE@QUCDN>
-
- Further on the recent discussions conderning benchmarking SAS.
- Jean Hardy and I have been corresponding, and I have sent him a
- "rough draft" of the benchmarking program. To spur additional
- comments from SAS-L, here is the basic logic we are considering
- at present.
-
- First, the data set. A number of individuals have commented that
- the data set needs to be sufficiently large to "really test the
- system". However, given what we are defining as the minimum
- configuration (640K AT-class machine with 10 -> 20 Mb HD), we
- couldn't make the data set too large. The beta-stage data set
- has 20,000 records, with three variables per record. This is, in
- theory, not too large to be handled by the minimum configuration
- noted, but is large enough to test bigger and faster hardware.
- There are both string and numeric variables in the data set.
-
- The program was (still is) the matter of some debate. In the
- beta-form, it involves:
-
- 1. I/O -> reading in the data set.
-
- 2. PROC SORT -> EVERYBODY has to sort sooner or later, so including a
- PROC SORT step is, I believe, essential.
-
- 3. CPU intensive -> calls to various PROC's were needed to test the
- number crunching power of SAS. Although there were a few
- calls for ARIMA, IML, and other 'esoterica', the program
- uses GLM and REG. Both of these are very commonly used,
- and should prove sufficient for the purpose (GLM
- especially).
-
- 4. test of SET/MERGE -> two other CPU-intensive operations, also commonly
- used
-
- 5. final I/O -> writing out a derived data set to disk
-
- To reiterate from previous postings, this is not a comprehensive
- test of all features of SAS. It is not intended to be. It is to
- provide the average end-user with a benchmark that "he/she can
- relate to".
-
- Remaining issues.
-
- a) should there be an additional PROC call...something not
- included above, but which will provide important information?
- SASGRAPH?
-
- b) should we specifically include a PROC that is in BASE SAS, as
- well as one from SAS STAT, sicne there are users who will have
- only BASE but not STAT? If so, which PROC (I personally lean
- towards FREQ or TABULATE)?
-
- C) What should be reported? I envision something like...
-
- HARDWARE: memory
- CPU & clock
- co-processor (y/n)
- size of HD with avg. access time and controller type
- RAM/HD cache (y/n, and size)
- hardware model (Compaq, Everex, IBM 3081, HP 9000...)
-
-
- PERFORMANCE: number of CPU seconds required for each MAJOR step of
- program (SORT, GLM, MERGE, OUTPUT...), plus total time
- from invocation of SAS to final output of results.
- ========================================================================
- Don MacQueen Benchmark
-
- From: Don MacQueen <macq@MIGUEL.LLNL.GOV>
-
- Don created this benchmark program and offered to summarize the
- results for SAS-L. He got a good response......
- program:
-
- OPTIONS FULLSTATS;
- FILENAME DATF '&&TEMP' LRECL=80 BLKSIZE=9040 RECFM=FB DISP=NEW;
- DATA _NULL_;
- FILE DATF;
- DO A='C', 'B', 'A';
- DO X=1 TO 1000;
- Y=4+3*RANNOR(0);
- PUT A X Y;
- END;
- END;
- RUN;
-
- DATA T1;
- INFILE DATF;
- LENGTH A $ 1;
- INPUT A X Y;
- X2=X*X;
- IA=0; IB=0; IC=0;
- SELECT(A);
- WHEN('A') IA=1;
- WHEN('B') IB=1;
- WHEN('C') IC=1;
- OTHERWISE;
- END;
- PROC SORT DATA=T1;
- BY A;
- PROC MEANS; BY A;
- VAR X Y;
- PROC FREQ;
- TABLES A;
- PROC REG;
- MODEL Y=X;
- MODEL Y=IA IB IC X X2 /NOINT;
- RUN;
-
- From: Phil Bardsley <UPHILB>
-
- Don -
- I'm doing some other benchmarks on our IBM 3090, so I decided to
- add to your list with a comparison of 5.18, 6.06, and 6.07 (beta).
- <stuff deleted>
-
- From: Dirk Rober <FDAAA12@BLEKUL11>
-
- I have run the benchmarks on an IBM PS/2 Model 95 -25Mhz under
- OS/2 v1.3. The results are significant better than the old OS/2
- results which were run on a 33Mhz 386.
-
- From: Paul Molin <PMOLIN@FRCCUB11>
-
- This idea of SAS benchmarks is very interesting for us, since we are
- investigating in this moment for a change of our computer. here is
- my contribution:
- <stuff deleted>
- Using the option VIOBUF=512k in order to put the work sas dataset
- in memory.
-
- Machines: Reg
- ** PC's **
- IBM 9377/90 16MB ram
- IBM Model 95 25Mhz 12MB RAM 4.09
- 512K SCSI DISK CACHE,
- 1024K HPFS LAZY CACHE
- 320MB Disk
- SAS 6.06.03, OS/2 EE v1.3
- Command line
-
- IBM Model 95 25Mhz 12MB RAM 4.87
- 512K SCSI DISK CACHE,
- 1024K HPFS LAZY CACHE
- 320MB Disk
- SAS 6.06.03, OS/2 EE v1.3
- Presentation Manager
-
- Dell 310, 386/387, 16MB RAM 9 32 K RAM CACHE, EMS, 512K DISK CACHE,
- 8MB RAMDISK, 80MB Disk SAS 6.03, DOS 3.3
- Northgate 386DX/20MHz, 387, 4MB, DOS 4.01, SAS 6.04 80MB SCSI Disk, No
- EMS No Cache, No RAMDISK 1.4MB Cache, No RAMDISK Cache, 2 MB RAMDISK
- Northgate 386SX/20MHz, 387SX, 40MB IDE Disk, 2MB RAM, SAS6.04, No EMS
- No Cache (Average of 2 runs) With 1.4MB Cache
- IBM PS/2 Mod 70, 386/16, 11 60MB 28msec Disk, 1MB cache, 3 MB RAMDISK
- AST 386/387 33MHz, 12MB RAM, 6.62 OS/2, HPFS file system, SAS 6.06
-
- ** WORKSTATIONS **
-
- RS6000, 16MB RAM, AIX, SAS 6.07 (Beta)
- SUN4C/65 Sparcstation 1+ Color OS 4.1, 16MB RAM, SAS 6.03, Sunview
- Sparcstation SLC, 16MB, SAS 6.03, Sunview Deskset Shelltool
- Sparcstation SLC, 16MB, 2 SAS 6.03, Run from command line
- Sun Sparcstation IPC, 2 24MB RAM, 667MB Disk, 17ms, SunOS 4.1,
- OpenWindows 2.0, SAS 6.03
- The above IPC, SAS 6.07 beta
-
- ** VAXes **
-
- VAX 6510 6.06 1.03
- VAX 6420, SAS 6.06
- VAX 6460, SAS 6.06
-
- ** Mainframes **
- IBM 3090 - MVS/ESA - 5.18 .15
- IBM 3090 - MVS/ESA - 6.06 .18
- IBM 3090 - MVS/ESA - 6.07(beta) .10
-
- HDS AS/EX-80 - MVS/ESA SAS5.18
- IBM 3090 - SAS 5.18 VPS
- (OS based on MVS)
-
- ---------------------------------------------------------
- Miscellaneous Benchs....
-
- From: Doug Bates
- Floating point benchmark which is the singular value decomposition
- of an n by n orthogonal matrix. It's the same as the benchmark I
- described in S earlier (i.e. time(svd(qr.qy(qr(1:n),diag(n)))))
- machines: SparcStation 1+ (8 Mb) Decstation 3100 (8 MB) NextCube
- ('040, 12 Mb), Decstation 5000 model 200 (16 Mb), IBM RISC 600/320,
- IMB RISC 6000/530, HP 720 (16 MB).
-
- From: Tim Dorcey
- Tim sent a very simple benchmark and then sent an improved version
- which I remember but can't find....if anyone has it would most
- appreciate.....
-
- DATA _NULL_;
- RETAIN SUM 0;
- INFILE IN;
- INPUT X 8.;
- SUM = SUM + X;
-
- machines: IBM 4381, IBM 3090-200, IBM 3090-600, IBM 3090-600J.
-
- From: Melvin Klassen
- Melvin offered results but doesn't describe benchmark program?
- machines: IBM 3090-150S, with vector facility.
-
- From: "Judy Hallman" <HALLMAN>
- Here are a couple of ideas for timing runs (CPU HOGS).
- There are three jobs. One Fortran job has heavy calculations.
- The other moves around over a big array.
- <stuff deleted>
- Basically Judy suggests finding a *VERY* large text file and
- then:
- // EXEC SAS
- //SYSIN DD *
- DATA TEXT;
- LENGTH WORD $ 30;
- INFILE IN;
- INPUT WORD;
- PROC FREQ;
- TABLES WORD;
-
- From: IN%"C1921E@UMSLVMA.BITNET" "David Nasser" 18-OCT-1990 16:38:03.38
- The following is a summary of brief tests of SAS dataset access
- performed on an MVS/XA system. The access consisted of a simple
- extraction of three observations from a SAS dataset with 1080
- observations and 1171 variables (subsetting "IF" statement for
- sequential access, simple "WHERE" statement for indexed access).
- <stuff deleted>
-
- From: andrew parks <OPK@NIHCU>
- Here's what I did. I generated a bunch of random number
- variables for a bunch of observations: 55 variables over 4000
- observations. Then I ran a little program that subsetted the
- data by observation as well as by variable, then performed
- ordinary least squares, using one variable as the dependent
- variable, and the rest, however many that is depending on the
- size of the data set, as independent variables. I ran this for
- the several combinations of number of observations and number
- of variables.
- <stuff deleted>
-
- From: Jeff Zax <zax@zax.Colorado.EDU>
- This benchmark program generates its own data. It ran 19 times
- faster on the Sparcstation than on a Gateway 386-25 PC. This
- program is very demanding in terms of CPU and disk space. I
- think it can be run without modification in both UNIX and DOS
- because it doesn't refer to any external permanent files. It does
- need some disk space, though, as it generates large temporary
- data sets.
-
- This is the SAS program:
-
- * COMPARES PRE- AND POST-ERISA PENSIONS FOR RETIREES, NO WORKER HOLDINGS
- * OPTIONS OBS=0;
- DATA A;
-
- * INITIALIZE NECESSARY CONSTANTS;
-
- ETA=.02; * ETA=.05; * ETA=.01;
- STEPS=5; * STEPS=2;
- MINALPHA=.001; MAXALPHA=.005; ALPHSTEP=.001; * ALPHSTEP=.004;
- MINSIG=.02; MAXSIG=.06; SIGSTEP=.01; * SIGSTEP=.04;
- MINSIGW=500; MAXSIGW=900; SIGWSTEP=100; * SIGWSTEP=400;
- ALPHAW=3500;
- RATE=.002;
- RETIRE=240;
- DEATH=120;
- DISCOUNT=.002;
- ETARATE=ETA*RATE;
- ETARATSQ=ETARATE**2;
- PHIOFTAU=RATE*LOG(ETARATE*.00005); * + FUNCTION OF BEQUEST INTENTIONS;
- THETA1=EXP(-RETIRE*RATE);
- THETA2=EXP(-DEATH*RATE);
- THETA1M1=1-THETA1;
- THETA3=EXP(RETIRE*RATE)-1;
- THETA4=1-THETA2;
-
- * ESTABLISH LOOPS;
-
- DO ALPHA1=MINALPHA TO MAXALPHA BY ALPHSTEP;
- ALPH1=ALPHA1/ETARATE;
- DO ALPHA2=MINALPHA TO MAXALPHA BY ALPHSTEP;
- ALPH2=ALPHA2/ETARATE;
- DO SIGMA1=MINSIG TO MAXSIG BY SIGSTEP;
- SIGMA1SQ=SIGMA1**2; CV1=SIGMA1/ALPHA1;
- DO SIGMA2=MINSIG TO MAXSIG BY SIGSTEP;
- SIGMA2SQ=SIGMA2**2; CV2=SIGMA2/ALPHA2;
- SIG12MAX=(2/3)*SIGMA1*SIGMA2; SIG12INC=.5*SIG12MAX;
- DO SIGMA12=0, -SIG12INC TO -SIG12MAX BY -SIG12INC,
- SIG12INC TO SIG12MAX BY SIG12INC;
- RHO12=SIGMA12/(SIGMA1*SIGMA2); SIG12SQ=SIGMA12**2;
-
- DET=1/(SIGMA1SQ*SIGMA2SQ-SIG12SQ);
- XER1=DET * (SIGMA2SQ*ALPH1-SIGMA12*ALPH2);
- XER2=DET * (SIGMA1SQ*ALPH2-SIGMA12*ALPH1);
- XPE1=ALPH1/SIGMA1SQ;
- XPE2=ALPH2/SIGMA2SQ;
- * IF XP1<0 | XP2<0 THEN GO TO NEXT;
-
- CV1=SIGMA1/ALPHA1;
- CV2=SIGMA2/ALPHA2;
- ZAX1 = -(RHO12**2) * (((1/CV1-1/CV2)**2)/(1-RHO12)
- + 2/(CV1*CV2))/(2*(1+RHO12));
-
- DO SIGMAW=MINSIGW TO MAXSIGW BY SIGWSTEP;
- SIGMAWSQ=SIGMAW**2; CVW=SIGMAW/ALPHAW;
- A = -ETARATE*ALPHAW + .5*ETARATSQ*SIGMAWSQ;
- SIG1WMAX=(2/3)*SIGMA1*SIGMAW; SIG1WINC=.5*SIG1WMAX;
- SIG2WMAX=(2/3)*SIGMA2*SIGMAW; SIG2WINC=.5*SIG2WMAX;
- DO SIGMA1W=0, -SIG1WINC TO -SIG1WMAX BY -SIG1WINC,
- SIG1WINC TO SIG1WMAX BY SIG1WINC;
- * DO SIGMA1W=SIG1WINC TO SIG1WMAX BY SIG1WINC;
- RHO1W=SIGMA1W/(SIGMA1*SIGMAW);
- DO SIGMA2W=0, -SIG2WINC TO -SIG2WMAX BY -SIG2WINC,
- SIG2WINC TO SIG2WMAX BY SIG2WINC;
- * DO SIGMA2W=SIG2WINC TO SIG2WMAX BY SIG2WINC;
- RHO2W=SIGMA2W/(SIGMA2*SIGMAW);
- ZAX2 = (RHO1W*RHO12-RHO2W)/CV1 + (RHO2W*RHO12-RHO1W)/CV2;
- ZAX2 = ZAX2*RHO12/(1-RHO12**2);
- ZAX2 = ETARATE*SIGMAW*ZAX2;
-
- ARRAY EQVAR1 (I) EQVAR11-EQVAR14;
- ARRAY EQVAR2 (I) EQVAR21-EQVAR24;
- ARRAY EQVAR3 (I) EQVAR31-EQVAR34;
- DO RETIRE=240 TO 60 BY -60;
- * DO RETIRE=50 TO 20 BY -10;
- * DO RETIRE=16 TO 4 BY -4;
- * DO RETIRE=4 TO 1 BY -1;
- THETA3=EXP(RETIRE*RATE)-1;
- PHI1 = ZAX1*(THETA3+THETA4);
- PHI2 = THETA3*ZAX2;
- I=5-RETIRE/60;
- * I=5-(RETIRE-10)/10;
- * I=5-RETIRE/4;
- * I=5-RETIRE;
- SCALE=ETARATE*THETA3*ALPHAW;
- EQVAR1=-FUZZ(PHI1+PHI2)/SCALE;
- END;
-
- DO OVER EQVAR1;
- IF EQVAR1<-.45 THEN EQVAR2=-.5;
- ELSE IF EQVAR1<-.40 THEN EQVAR2=-.45;
- ELSE IF EQVAR1<-.35 THEN EQVAR2=-.40;
- ELSE IF EQVAR1<-.30 THEN EQVAR2=-.35;
- ELSE IF EQVAR1<-.25 THEN EQVAR2=-.30;
- ELSE IF EQVAR1<-.20 THEN EQVAR2=-.25;
- ELSE IF EQVAR1<-.15 THEN EQVAR2=-.20;
- ELSE IF EQVAR1<-.10 THEN EQVAR2=-.15;
- ELSE IF EQVAR1<-.05 THEN EQVAR2=-.10;
- ELSE IF EQVAR1<-.0 THEN EQVAR2=-.05;
- ELSE IF EQVAR1=.0 THEN EQVAR2=.0;
- ELSE IF EQVAR1<=.05 THEN EQVAR2=.05;
- ELSE IF EQVAR1<=.10 THEN EQVAR2=.10;
- ELSE IF EQVAR1<=.15 THEN EQVAR2=.15;
- ELSE IF EQVAR1<=.20 THEN EQVAR2=.20;
- ELSE IF EQVAR1<=.25 THEN EQVAR2=.25;
- ELSE IF EQVAR1<=.30 THEN EQVAR2=.30;
- ELSE IF EQVAR1<=.35 THEN EQVAR2=.35;
- ELSE IF EQVAR1<=.40 THEN EQVAR2=.40;
- ELSE IF EQVAR1<=.45 THEN EQVAR2=.45;
- ELSE EQVAR2=.50;
- IF EQVAR1<0 THEN EQVAR3=0;
- ELSE IF EQVAR1=0 THEN EQVAR3=1;
- ELSE EQVAR3=2;
- END;
- INDEX=EQVAR31+EQVAR32*3+EQVAR33*9+EQVAR34*27;
-
- KEEP ALPHA1 ALPHA2 SIGMA1 SIGMA2 RHO12 SIGMAW RHO1W RHO2W
- CV1 CV2 XER1 XER2 XPE1 XPE2
- EQVAR11-EQVAR14 EQVAR21-EQVAR24 INDEX;
-
- OUTPUT;
-
- END; * SIGMA2W LOOP;
- END; * SIGMA1W LOOP;
- END; * SIGMAW LOOP;
- * NEXT; END; * SIGMA12 LOOP;
- END; * SIGMA2 LOOP;
- END; * SIGMA1 LOOP;
- END; * ALPH2 LOOP;
- END; * ALPH1 LOOP;
- run;
- PROC MEANS;
- run;
- PROC UNIVARIATE; VAR EQVAR11-EQVAR14 XER1 XER2 XPE1 XPE2;
- run;
- PROC FREQ;
- TABLES ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W
- EQVAR21-EQVAR24 INDEX;
- run;
- PROC TABULATE;
- CLASS EQVAR21;
- VAR ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR11;
- TABLE
- (ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR11),
- EQVAR21*(MEAN*F=15.6);
- run;
- PROC TABULATE;
- CLASS EQVAR22;
- VAR ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR12;
- TABLE
- (ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR12),
- EQVAR22*(MEAN*F=15.6);
- run;
- PROC TABULATE;
- CLASS EQVAR23;
- VAR ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR13;
- TABLE
- (ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR13),
- EQVAR23*(MEAN*F=15.6);
- run;
- PROC TABULATE;
- CLASS EQVAR24;
- VAR ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR14;
- TABLE
- (ALPHA1 ALPHA2 SIGMA1 SIGMA2 SIGMAW RHO12 RHO1W RHO2W CV1 CV2
- XER1 XER2 XPE1 XPE2 EQVAR14),
- EQVAR24*(MEAN*F=15.6);
- run;
-
-
- From: Mike Thorn
- Subject: Burroughs Wellcome Benchmarks
-
- These are programs developed by the MISSING LINKS Quality Circle at
- Burroughs Wellcome Co. They are benchmark testing programs to be
- run on different platforms in order to judge how effectively SAS runs
- on the respective platforms.
-
- Following is a list of the programs with a brief descrpition of what
- the program does, what SAS PROCs it mainly uses, and whether the
- program makes any external calls.
-
- -----------------------------------------------------------------------
-
- STATISTICAL ANALYSIS & These programs basically manipulate and
- DATA MANIPULATION analyze data. All use data created within
- the program. Some call external macros.
-
- Program: BENCH1 SAS This program is a Monte Carlo simulation
- which calculates sample size/power for
- a CMH rank correlation statistic. The program
- uses PROCs FREQ and PRINTTO. There are no
- external calls & data is created internally.
-
- Program: BENCH2 SAS This program uses PROC GLM on a large
- randomly generated data set. The data is
- created internally.
-
- Program: BENCH3 SAS This program tests data manipulation by
- internally creating a large data set and
- using several PROC SORTs, COMPAREs, and
- MERGEs.
-
- Program: BENCHCI SAS This program tests treatment differences
- in two test instruments. Data is created
- internally and one macro call is used. The
- macro (RANKSUM) generates confidence
- intervals. SAS PROCs used include: RANK,
- SUMMARY, UNIVARIATE, TRANSPOSE, and DELETE.
-
- Program: TIME1 SAS This program produces separate statistical
- summaries with varying numbers of records.
- Data is generated internally and one external
- macro call is used. The macro (EXSTAT)
- produces summary statistics. SAS PROCs used
- include: TRANSPOSE, SORT, FREQ, FORMAT,
- UNIVARIATE, and COMTENTS.
-
- Program: TIME2 SAS This program produces a statistical summary
- using internally generated data and one
- macro call. The macro (FREQTAB) produces
- frequencies. The output is printed by
- PROC PRINT. SAS PROCs used include: PRINTTO,
- SORT, FREQ, and TRANSPOSE.
-
- -----------------------------------------------------------------------
-
- GRAPHICS Note that all these programs have been taken from the SAS
- Version 6 Sample Library. All but one use data created
- within the program.
-
- Program: BENCHG1 SAS This program uses SAS PROCs GCHART, GSLIDE,
- and GREPLAY to produce a graphic with four
- figures on one page. It uses internal data.
-
- Program: BENCHG2 SAS This program uses SAS PROCs G3D and G3GRID
- to produce a 3-diminsional graphic. It uses
- internal data.
-
- Program: BENCHG3 SAS This program uses the SAS PROC GMAP to
- produce a US map graphic. It uses the
- MAPS.US data set provided in the SAS GRAPH
- Data Library.
-
- Program: BENCHG4 SAS This program uses the SAS PROC GPLOT to
- produce a plot of temperature versus
- time in three cities. It uses internal
- data.
-