[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: RES: RES: FW: srlua extension to run with glued zip file
- From: André de Leiradella <leiradella@...>
- Date: Fri, 7 Jan 2005 18:02:17 -0300
> That's not true. On any modern desktop or server system, executables
> are demand-loaded. Anything read-only and only touched once, like
> that const char, is an good candidate for the OS to just drop, in
> the same way that it drops caches of files. Files hang around in
> memory after you read them too...
> This does depend on a little on OS cache tuning. Some kernels
> prioritize retaining mmap'd pages (like from executables) over
> retained caches of files. But it's only a matter of degree.
> I suppose you could provide a stronger hint to the kernel by calling
> madvise, or munmap the data after you were done. You'd have to be
> careful how you set up the latter of course.
> My first real C programming experiences were on the Amiga and MS-DOS
> where what you said is true. I continue to find the physical memory
> usage on demand paged operating systems to be unintuitive.
I completely agree, but as you said it depends on OS cache tuning or on
giving the right hints to the kernel while trying *not* to munmap your
code or data that is still needed. That's why I prefer to play safe and
read temporary data (i.e. Lua scripts) from the file system at the end
of an executable or as a file by itself. Compressing this data is only
an atempt to make the app distro smaller.
Andre de Leiradella