On Sat, Nov 30, 2019 at 10:55 AM Lassi Kortela <address@hidden
>> The Chicken DLL is about 3.4MB, of which a good deal will be relocation tables and such. I'm a Cygwin user, so my C library is included in cygwin1.dll, which is about the same size [...] The native Windows C library, also a DLL, is about 1MB, depending on the OS version [...]
Cygwin1.dll doesn't use the native C library at all; it lives directly on top of the Win32 kernel and the lower-level WinNT Executive.
> So the RAM footprint at run time for the executable code (excluding the OS) will be on the order of 12KB + 3.4MB + 3.4MB + 1MB, so about 8MB. I think that is a better measure when estimating the amount of RAM needed to run an application.
I added (let loop () (loop)) after the (print "Hello world") so I could watch the process, and Windows is charging it with 2.6 MB. I don't know how, if at all, Windows allocates DLL memory to applications with the DLL open.
The RAM taken by the DLLs ought to be shared with other running programs
using the same DLLs. If we assume the user's program is the only Chicken
program running at the time, but there are other Windows/Cygwin
programs, the Chicken program would be 12KB + 3.4MB on top of those.
That's my situation while running this program.
John Cowan http://vrici.lojban.org/~cowan address@hidden
The first thing you learn in a lawin' family is that there ain't
no definite answers to anything. --Calpurnia in To Kill A Mockingbird