It is fair to contrast a program that does not have to acquire storage with one that does. Any extra getmain/freemain (or storage analog) is more cycles of execution. But if you are loading the program more than once because it is not reentrant then the extra cycles needed to do that dwarf the cycles of an extra getmain/freemain (or storage analog). But a stack (such as "C" might rely upon) does not come for free either. Something, at some point, acquired that storage. That took cycles. If your program is so small that it cares about one getmain/freemain, then it probably is overall uninteresting (think how much had to happen to get the job to run that program running and terminated); and if it is not uninteresting, then it should probably be in LPA to avoid the overhead of fetching in the first place.
Shmuel wrote <snip> Is there a table showing fetch protect, key, page protect and subpool for every combination of library authorization, REFR, REFRPROT, RENT, REUS, TCB key? </snip> No there is no "table" nor would it be a productive use of time to create one. The characteristics of where a module is loaded are well described. Page Protect would be outside the bounds of a table; simply, it applies to everything that is marked refreshable. Modules are placed in a particular subpool according to the rules, and for subpools such as 251 and 252 the definition of the subpool tells things such as "key" and "fetch protection". "Reus" is uninteresting without Rent since it is just another case of "not reentrant". And Reus with Rent is the same as Rent to z/OS. Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
