Newsgroups: bit.listserv.sas-l
Date:         Tue, 15 Sep 1992 08:00:53 EDT
Reply-To:     andrew parks <OPK@NIHCU.BITNET>
From:         andrew parks <OPK@NIHCU.BITNET>
Subject:      PC-SAS guidelines

---------------------------------------------------------------------
CONTENT:  Response to query about PC-SAS guidelines
SUMMARY:  21 Tips, SAS-L survey summary
REL/PLTF: 6.03, 6.04
E-ADDR:   opk@cu.nih.gov, opk@nihcu
NAME:     Andy Parks
PH/ADDR:  202-205-3250 / USITC / 500 E St SW Washington DC 20436
---------------------------------------------------------------------

>    We find that it is generally OK using SAS on a PC for a small amount
>    of data.  But when the amount of data and number of variables become
>    large, PC is painfully slow (even with EMS).  Would anyone know if
>    there is any good performance guideline and hint for running SAS on
>    PC/DOS.  We thought the Windows version of SAS would help in
>    performance, but were tought it will not be released until late this
>    year.
>
>    Thanks for any help in this area.
>
> Johnny Hua,
> System Programmer,
> FAO of the UN,
> ROME, ITALY
>
> AFCO73@IRMFAO01

Johnny,

I think we'd all agree that PC-SAS is rather limited in
performance.  As far as guidelines, there are some.  SI's "21
Tips for Increasing Memory under the SAS System 6.03/6.04 for
PC/MS-DOS" addresses memory issues, and that's not performance
per se, it's part of the story.  EMS will not necessarily
increase PC-SAS's speed.  It can slow it down.  It gives SAS
more capacity by freeing up conventional memory for the
program data vector.  A year or so ago several SAS-Lers
contributed tips for configuring a PC-SAS.  These included
some performance ideas:  disk caching, RAMdisks, coprocessor,
disk optimization, and frugal programming on the part of the
user.  I could try to dig it out for you...  or you could dig
through the archives yourself.

Whatever you do, PC-SAS will always be bound by the amount of
conventional memory you have available, the speed of your
processor, the amount of free disk space on your hard drive,
and the speed of your hard drive.  Not much you can do.

One thing you can do is look at SAS 6.06 running under OS/2
2.0.  You eliminate the restraint on the size of your program
data vector, because you are no longer constrained by the
amount of free conventional memory.  Generally speaking, 6.06
will outperform 6.03/6.04.  Expect something in the
neighborhood of double the performance.

You can run 6.03/6.04 on a much smaller machine than 6.06
needs.  SI says you need a minimum of a 386SX and 6 MB RAM.
OS/2 takes between 18 and 30 MB of disk space, and the SAS
products can take a sizable chunk also:  I don't have the
figures, but I've got about 25 MB of SAS stored on my hard
drive.  You need free disk space too.  So you need a big disk
drive.  The more RAM, the better.  I first ran 6.06 with 4 MB,
and it was slower than 6.03.  When I added more RAM,
performance improved dramatically.

When the Windows version is released, there will also be a
release of a 32-bit version for OS/2.  I think it'll be 6.08.
That should show much better performance.

Frugal programming can't be overlooked.  I had a user bring me
a program that ran 96 regressions and took 45 minutes under
6.03.  I tried it under 6.06 and it ran in 20 minutes.  Then I
looked at the program.  He was openning his dataset, doing a
subset, running a couple of regressions, then openning his
dataset again, doing another subset, then running more
regressions.  Over and over and over.  Easy to do, but bad
programming.  Better to set up a dummy variable for the
subsets, sort by and regress by the dummy variable.  The
program ran in under 2 minutes after that!

What led to the bad programming?  Two things struck me.
First, not understanding SAS properly.  It never occurred to
my friend to run PROC REG with BY processing.  Well, now he
knows.  Second, it's not hard to program something like he did
using even the program editor.  I'd guess that he developed
the program with one or two regressions, and just added on
more subsets and PROC REGs as he went along.  Suddenly he had
a gigantic program that was performing unnecessary I/O and
calculating cross products over and over again.

But I digress.  Dig around for the the Configuration for
PC-SAS Survey Summary (summer '91 ?) and call SAS institue for
the "21 Tips."  You'll find "21 Tips" also in the SAS-L
archives.

Anyone know of some other guides?

Good luck!

Andy Parks / opk@nihcu / opk@cu.nih.gov
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Subject: (no subject given)