.NET Framework - Application Overhead

Does anyone have specific information on the costs of using the .NET Framework 2.0 / 3.0 / 3.5?

What interests me most is the overhead for each instance and whether there is a “fixed cost” regardless of the number of instances, for example. in a terminal services environment with 300 instances of the .NET Framework, only one instance of the Just-In-Time compiler is running?

It would be great if I got an approximation algorithm, for example, 10mb per instance + 50mb for JIT

+3
source share
1 answer

It works just like unmanaged code. The CLR, JIT compiler, and .NET Framework assemblies are DLLs that are shared by any process that manages managed code. Only one copy of their code is loaded into RAM, all processes map their virtual memory pages to one copy.

Managed code has more private bytes than unmanaged code that cannot be shared. First of all, due to the JIT compiler, it generates machine code on the fly at addresses that will not be the same for one process and another. Both the loader and the garbage collector are usually a bit meaty.

JIT Ngen.exe. .NET Framework , Ngen-ed, . , .

+2

Source: https://habr.com/ru/post/1735522/


All Articles