[Mono-devel-list] Assembly Sharing

Miguel de Icaza miguel at ximian.com
Fri Dec 26 09:45:59 EST 2003


Hello,

> Does mono support assembly sharing? By this I mean can an assembly be
> shared in the same way you can have dynamic libraries in C?
> 
> So if I have multiple applications using the same assembly do they each
> load the assembly or can they share the assembly?

The assembly *data* from the disk is only present in memory once (this
we get for free, as we load the assembly data using the OS "mmap" system
call).

If each application is running with the same Mono VM using different
application domains, then this depends on the `--optimize shared'
setting and on your ahead-of-time compiled assemblies (if shared, then
they reuse the code, but the code generated is slightly slower;  if not,
then the JITed code is duplicated).

Ahead-of-Time code is shared across all executing VMs (again, mmaped).

Miguel



More information about the Mono-devel-list mailing list