[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pnet-developers] Profile support in pnetlib
From: |
Rhys Weatherley |
Subject: |
[Pnet-developers] Profile support in pnetlib |
Date: |
Wed, 16 Apr 2003 14:50:13 +1000 |
User-agent: |
KMail/1.4.3 |
Hi all!
I've been busy inside pnetlib this week, updating the profile support.
Profiles allow us to build pnetlib in a number of different configurations
for embedded systems.
To build pnetlib with a profile, "./configure --with-profile=name" when
configuring pnetlib (don't forget to re-run auto_gen.sh first). The current
profiles are supported at present:
full - turn on everything (default).
ecma - only enable ECMA-compatible features.
compact - ecma, without floating point or debug line information.
compact-fp - ecma without debug line information.
kernel - compact without reflection.
kernel-fp - compact-fp without reflection.
tiny - kernel without assembly loading, PInvoke, and resources.
tiny-fp - kernel-fp without assembly loading, PInvoke, and resources.
The "compact" and "kernel" profiles are designed to be roughly equivalent to
the definitions in ECMA Partition IV. The "tiny" profile essentially reduces
the system to just the base class library ("BCL" in ECMA terminology).
The "compact-fp" and "ecma" profiles are functionally identical, except that
debug line information is turned off to save memory. Here are the sizes in
bytes of mscorlib.dll in each of the profiles (these numbers may change a bit
as I fine-tune the library a bit more):
full - 1184256
ecma - 615936
compact - 442880
compact-fp - 465920
kernel - 404992
kernel-fp - 428032
tiny - 341504
tiny-fp - 365056
(Those are the on-disk sizes - the in-memory sizes will be larger due to CVM
conversion overhead and metadata loading).
Note: if you are building software for DotGNU on top of pnetlib (e.g.
dotgnu-libs), you should regularly test your code with the "ecma" profile to
ensure that you aren't relying upon non-standard features. Bonus points if
it will also run with "kernel" and "tiny". :-)
I still have some work to do to update the profiles in "pnet" to match the
above, but we are definitely getting closer to the goal of running well in a
minimal environment.
Cheers,
Rhys.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pnet-developers] Profile support in pnetlib,
Rhys Weatherley <=