× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: What About Price vs. Performance?
  • From: jpcarr@xxxxxxxxxxxx
  • Date: Wed, 4 Apr 2001 08:14:45 -0400


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 thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.