[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[DotGNU]Compressed IL binary support in pnet
From: |
Rhys Weatherley |
Subject: |
[DotGNU]Compressed IL binary support in pnet |
Date: |
Thu, 28 Aug 2003 17:16:08 +1000 |
User-agent: |
KMail/1.4.3 |
Hi all,
I've added code to the CVS version of pnet to support gzip-compressed IL
binaries. The "zlib" library is used to decompress binaries on the fly when
they are loaded. Compression is easy: just run "gzip" over your binaries or
pnetlib library assemblies. On my system, it reduces the size of the pnetlib
libraries between a factor of 2 and 3 in size.
This feature is primarily intended for embedded systems, which typically have
constraints on the amount of flash that can be devoted to storing IL
libraries such as "mscorlib.dll", "System.dll", "Xsharp.dll", etc. But it
could also be used with DGEE to compress the web service binaries.
There is an additional time and memory penalty involved in loading compressed
IL binaries, so this isn't recommended for desktop and server libraries. The
mmap-based file loader in pnet is a lot more efficient, and should be used if
disk space isn't at a premium.
The library path lookup mechanism has been altered slightly to accomodate
gzip-compressed libraries. It will first look for "foo.dll", and then
"foo.dll.gz", in each directory along the usual search path.
You will need the development version of "zlib" installed on your system, and
will also need to re-run "./auto_gen.sh" before rebuilding pnet. You can get
"zlib" from "http://www.gzip.org/zlib/" or your favourite package provider.
Cheers,
Rhys.
- [DotGNU]Compressed IL binary support in pnet,
Rhys Weatherley <=