Soci (Soczó Zsolt) szakmai blogja

2011.03.05.

Érdekes .NET perf tapasztalat

Filed under: .NET,.NET 4,C#,CLR,Optimalizálás,Szakmai élet,Visual Studio,VS 2008 — Soczó Zsolt @ 12:53

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:

[source=’c#’]
if (bar.L == 0)
[/source]
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:

[source=’c#’]
if (bar.L == 0M)
[/source]

1% kevés, de sok 1% már számít.

1 Comment

  1. if (bar.L == Decimal.Zero)

    szerintem olvashatóbb lenne, mint a 0M vagy 0m

    Comment by Harasoft — 2011.05.18. @ 15:32

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress