On Sat, Nov 30, 2019 at 10:55 AM Lassi Kortela <[email protected]> wrote:

> >> 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        [email protected]
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

Reply via email to