[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Pnet-developers] re: [DotGNU] Memory usage on an embedded system
From: |
Simon Posnjak |
Subject: |
Re: [Pnet-developers] re: [DotGNU] Memory usage on an embedded system |
Date: |
Mon, 25 Oct 2004 16:45:53 +0200 |
V sre, 20.10.2004 ob 16:19 je Gopal V napisal(a):
> Hi,
>
> I've fixed the build issues with the kernel-fp pnetlib
> builds , so that the latest CVS builds with a minimal
> but usable build.
>
> See http://t3.dotgnu.info/code/mem.png for a memory
> profile of ilrun in kernel-fp *without* a GC for
> evenodd.exe from pnet/samples .
>
> I had to make a few changes to the thin-locks to make
> it work. I move the GetObjectLockWordPtr out of the
> locked code to prevent a dead lock. (tum: is that
> correct ?).
>
> A stripped ilrun is now 451k and gzip compresses
> that to around 200k (should fit on flash nicely).
> Now I am going to proceed porting pnet to uClibc to
> see if it goes any lower :)
Hm, the problem is not the size of the ilrun, but the memory
it takes while running. When I run full blown ilrun with hello.exe
example i get this reading (doing ps axu evry 0.8 s):
13723 root 4616 R ./ilrun -L /var/libs/ hello.exe
13723 root 4728 R ./ilrun -L /var/libs/ hello.exe
13723 root 5064 R ./ilrun -L /var/libs/ hello.exe
13723 root 5304 R ./ilrun -L /var/libs/ hello.exe
13723 root 5600 R ./ilrun -L /var/libs/ hello.exe
13723 root 5904 R ./ilrun -L /var/libs/ hello.exe
13723 root 6264 R ./ilrun -L /var/libs/ hello.exe
13723 root 6456 R ./ilrun -L /var/libs/ hello.exe
And when I use the kernel-fp I get:
25140 root 4296 R ./ilrun -L /var/libs/ hello.exe
25140 root 4408 R ./ilrun -L /var/libs/ hello.exe
25140 root 4720 R ./ilrun -L /var/libs/ hello.exe
25140 root 4984 R ./ilrun -L /var/libs/ hello.exe
25140 root 5304 R ./ilrun -L /var/libs/ hello.exe
25140 root 5656 R ./ilrun -L /var/libs/ hello.exe
25140 root 5984 R ./ilrun -L /var/libs/ hello.exe
25140 root 5384 R ./ilrun -L /var/libs/ hello.exe
1 MB better but still way to much, for such a simple example. It looks
to me as the whole library is always loaded. Is there a way to *force*
the loading of only the needed tokens.
Regard Simon