Amikor profilerrel megnézünk egy .NET kódot sokszor megdöbbentő helyen lesz benne bottleneck.
Az alábbi kód 1% időt visz el egy nagyon processzorintenzív kódban:
if (bar.L == 0)
Ami ebben lassú, az a System.Decimal.op_Implicit(int32). A bar.L egy decimal. Érdekes, mi?
Mi a megoldás? A 0 legyen valóban decimal, de int, amit konvertálni kell:
if (bar.L == 0M)
1% kevés, de sok 1% már számít.