Very interesting; as you've found a workaround, I assume this has become an intellectual exercise. As such, it's an interesting one. Everything that you've said, and everything that the other posters have said, makes perfect sense in my opinion. I've taken a very quick look at the code, and I don't see anything that would intrinsically cause it to run significantly slower in EG than using your base SAS execution.
Here are a few things that occur to me:
When you run it outside of EG, is it running on the same machine as when you submit it through EG?
Is there something in the environment options that is different in EG and outside of it? Particularly the memory options.
I'm not quite sure what I'm asking here, but is there some way that there's a slow communication channel involved when you're running it in EG, as opposed to outside of EG? (You should see the difference when data is being slung around on 10Mb Ethernet as opposed to Gb).
If you have any energy for continuing to chase this down, you could put this before your first piece of SAS code, and after the last piece, and see if the times shown make sense in terms of what the elapsed time appears to be to you.
data _null_;
file log;
TimeStamp = put(datetime(), datetime.);
put TimeStamp=;
run;
If you do chase this down, please let us know what the solution is. I'm quite intrigued!
Tom
... View more