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