|
Scott K. said >I believe OS/400 has some sort of algorithm for dealing with programs that >are run a lot. When something is run very frequently, it keeps it in a >state where it can be launched again quickly. > >This might explain why something appears quicker the more it is run. Well yes. As Joe P. alluded to. Single Level storage. This was also very apparent even with the Green Screen. Back when we had a PAG, You would notice that if you went down a menu and stayed there for a while then hit F3 to bubble back up the menu path it got slower. It had to page back into memory portions of your *pgm object code and call stack variables that have not been referenced in a while. The reason for both(web and green screen) is that two fold. 1. All *PGM objects are inherently reentrant. (only one copy of the program object in memory regardless of how many users. If you call PGMA and I call PGMA we both branch to the same virtual address, hence same copy of the program object in memory). This is why Frank S. says that the iSeries can run Unix programs more effectively than a Unix machine that does not have this concept. 2. OS/400 (and the Sys/38 before it) had algorithms at the heart of it's design that would page out pages of memory on a "by recent use" algorithm. We used to have Purge(*yes) and Purge(*no) for our call stack variables. Now it all works like Purge(*no) meaning that most recently used pages of memory are left there and only written to disk when space is needed and that page has not been marked as having been used recently. For example, If I write a utility program that is called by nearly every program in my shop, Both *PGM's and *SRVPGM's will both be brought in by the first call in the morning(that person will have to wait momentarily while the program object is loaded into memory) then every other call by every other user will branch to the same virtual address which has been already loaded. They will not have to wait. A VERY efficient runtime machine. I could get into Activity Slots and Active-to-Active states and Active-to-Inelegible states and the rest but.......... Gee this reminds me, it's been along time since I taught a "Performance for the Application Programmer" class. John Carr +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.