SAS data steps are compiled, not interpreted. According to a developer I have spoken to, data step code is first turned into a platform-independent p-code (I don't think he actually used the term p-code), and then a platform-dependent module turns that into machine code.
This may not result in the most efficient possibly machine code, but nevertheless data steps are compiled, not interpreted. (There are some features, such as the RESOLVE function, that allow for very limited types of dynamic code to be run during a data step.) SAS PROCs are also compiled. There are some procedures that use interpreted code (the data step-like langauage in PROC IML, for example). In general, SAS PROCs build complicated internal data structures and have a lot of conditionally executed code, so they are not as efficient as non-general code might be, but they are compiled. SAS macros are not compiled to machine code as far as I know. SAS can be very fast. It is perceived to be slow, I think, because it is so easy to write code that is very inefficient but still produces the desired results. Business analysts who use SAS are not usually trained to create efficient programs. It is not unusual for a SAS programmer to be able to reduce the run time of a SAS business analyst's code by 50% or more, but few companies are willing to make that investment. -- Jack Hamilton Management Information & Analysis - Analytic Information Services Kaiser Foundation Health Plan, Inc. 1950 Franklin Street, Oakland, California 94612 +1 510 987-1556 (KP tieline 8-427-1556) NOTE: This email document and attachments are covered by CA Evidence Code §1157 and CA Health and Safety Code §1370. NOTICE TO RECIPIENT: If you are not the intended recipient of this e-mail, you are prohibited from sharing, copying, or otherwise using or disclosing its contents. If you have received this e-mail in error, please notify the sender immediately by reply e-mail and permanently delete this e-mail and any attachments without reading, forwarding or saving them. Thank you. Ted MacNEIL <eamacn...@yahoo.ca> Sent by: IBM Mainframe Discussion List <IBM-MAIN@bama.ua.edu> 02/04/2009 12:06 PM Please respond to IBM Mainframe Discussion List <IBM-MAIN@bama.ua.edu> To IBM-MAIN@bama.ua.edu cc Subject Re: [IBM-MAIN] insanity? process SMF with Java on non-z? >>>WPS (written in JAVA) already exists >Really? What sense would that make to save on SAS costs and then run something that is even more of a CPU hog? Knee-Jerk reaction! Speaking as a long-time performance analyst, JAVA can be optimised. >Even on a zAAP it would still be expensive. The software costs probably mitigate the hardware costs. And, SAS CPU (as an interpreter) isn't cheap either. I have not done an evaluation, but I would bet WPS beats out SAS by cost alone. The only way to find out is to meaure, without prejudice. - Too busy driving to stop for gas! ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html