Skip to main content
Home Forums 68kMLA Classilla 9.3.2 — #17
Post #17 by ClassicHasClass
Source Forum68kMLA
CategoryTroubleshooting
Post DateThu, 10 Jan 2013 - 20:36
Original URLhttps://68kmla.org/bb/threads/classilla-9-3-2.27025/
Post
I seem to recall something about virtual memory being beneficial to the performance of Mac OS 9 on PowerPC computers, even in situations where you have enough ram that your data never has to touch it. It had something to do with needing to pull entire large executable files off of the disk and put them in ram in order to run them, rather than being able to start the program quicker and only pull the parts of an application that you need from the disk.
What happens is that the code fragment of the Mac PEF executable remains on disk in VM mode, and is demand-paged in. This requires less working memory because the entire segment need not be loaded, and as a result appears to make the app start faster, but the application can be paged out -- technically, its in-memory mapped pages will be marked as on-disk to make room for another app to use those RAM pages, since the code fragment is immutable -- as well as paged in which means that overall performance can be worse if a particular code segment is hot. The operating system can also be subject to this operation, worsening overall operation still.

RAMDoubler improves on this somewhat by compressing memory where possible so that more pages can fit in RAM, so it swaps less. If you have to use VM due to low memory (1400 or TAM in my case), use RAMDoubler.

With virtual memory off, everything is loaded into memory, including the OS. This uses significantly more RAM in some cases, but it will be a lot faster in the long run because nothing gets swapped out to disk and everything runs from physical memory. In fact, OS 8/9 won't even let you enable VM if you have 1GB or more of RAM.

Just to complicate things, applications with shared libraries (Classilla has a lot of shlbs) don't have them all mapped at once. The shlb is only mapped or loaded on reference, unlike apps that just have a big honking code frag. Classilla has to load a number of shlbs to get started, and these will all be separately mapped under VM.

mp.ls