Tuesday, December 21, 2010

Coding Best practice - 3

There are 2 modes by which the CLR emits the JIT code while executing static type constructor
1) Precise mode
2) Before - field - Init ModeIn Precise mode - the code will be Jitted just beofe the first initialization/access call to a static variable
In Before - field - Init Mode - it will be Jitted during the first instance creation of the type Hence, Before field init mode is much more performant intent than the precise mode,as shown below

public class BeforInitMode
static int i = 20;

In before init Mode - type constructor is jittted much before the static member variable initialization/access

public class PreciseMode
static int i;
static PreciseMode()
{ i = 20;
Ref: CLR via C# by Jeffrey
I hope this helps!.

No comments: