Aside from fine-tuning code, you may also want to remove any interim prints
or log %puts. Throw out what you don't need. I've listed some options
below, a number which have already been discussed.
a) drop work datasets when no longer required
b) make the datasets you use are smaller with the DROP=, KEEP= statements
c) ensure temp space folder is bigger than last time (slow approach : ) )
d) better sort and merge, the fewest by variables that will do the job
e) use POINT= when you can
a) cut up the big job into several smaller jobs. The log/files/datasets
won't get extremely large with the shorter runs than one long one. Use the
environment to fire off the next job in the sequence until all are done.
b) examine using the endless supply of magnetic tape or other media if you
have them; take it off disk-based processing. (I've done this at a big
insurance shop; works quite well actually).
c) pre-process California in smaller chunks of data. Run 10 processes at
the same time and then merge the results at the very end.
I like using tape, only because sometimes [no matter how much you optimize
code using monstrous data you will still run out of disk anyhow]. And, I
like the clean solution...
Ed C email@example.com