Re: App pools and dlls

Marc Brooks <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <[email protected]>
> Application pools run in different processes.  So, no, they can't share physical memory in a way that would
> allow execution of code in that way.

However, the OS will automatically map the read-only copy of the
DLL-from-disk pages into a single physical pageset. This means that
other than the JIT copies of .Net code and non-write-modified portion
of non-.Net code, you will get shared physical memory usage.

This is where NGEN and the GAC can come in handy, you can have
pre-generated JIT code for any assembly which will then ALSO share one
physical JIT image. This is quite a bit of savings in some
environments.

The individual AppDomains will still need to have process-specific
address-translation tables and such, but with judicious setting of
BaseAddress for each assembly, you can really increase the physical
savings.  The big question is _IS IT WORTH IT?_

Unless you're talking about tons of AppPools, running tons of
AppDomains, running tons of _very lightweight_ applications, you're
going to run out of CPU and network bandwidth first.

-- 
Marc C. Brooks
http://musingmarc.blogspot.com

NOT sent from an iPhone

===================================
View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.