CLR is a part of .NET Framework which manages the execution of several supported .NET languages, allowing them to share Common Object-Oriented Classes. CLR is somewhat comparable to Java Virtual Machine. Microsoft refers to its Common Language Runtime as “Managed Execution Environment“. CLR held responsible for these important activities: Garbage Collection: CLR automatically manages memory, thus eliminating … Read more What is CLR (Common Language Runtime)?
Ngen.exe (Native Image Generator) is a tool that creates native images, which are files containing compiled Processor-Specific machine code, and installs them into the native image cache on the local computer. It’s a tool that improves the performance of managed applications. In other words, rather than compiling the code dynamically using JIT on runtime, a … Read more What is Native Image Generator (Ngen.exe) and how does it work?
There are 3 types of JIT compiler in .NET: Normal JIT: It’s the Default or Standard JIT compiler which compiles only those methods that are called at runtime. These methods are compiled the first time they are called, and are stored thereafter in cache. This compiled code is served from cache on all further calls … Read more What are different types of JIT?
Just in time compiler (JIT) compiles the code just before execution and saves the compiled code in memory. It can compile per-file, per-function or a code fragment. Refer to the picture below:
IL (Intermediate Language) Code is CPU independent partially/half compiled code. Partially means this code is not compiled to machine/CPU specific instructions. The reason behind it’s not fully compiled is: we do not know in what kind of environment .NET code will run i.e. what can be the end operating system, CPU configuration, machine configuration, security … Read more What is IL Code?