ちょっとC#書く
環境は C# 2010Exp .NET Fw 4.0
時間単位はTicks
String a = "not null!";
の時
前者は5600
後者は11700
String a = "";
の時
前者は5600
後者は8700
String a = null;
の時
前者は5600
後者は4100
つまりIsNullOrEmptyは一定の速度なので使うべき。
nullチェック用に使うとnullで来ることを想定していないため平均的には
一番最初の条件がHitする確率が高いはずである。
時間単位はTicks
String a = "not null!";
の時
前者は5600
後者は11700
String a = "";
の時
前者は5600
後者は8700
String a = null;
の時
前者は5600
後者は4100
つまりIsNullOrEmptyは一定の速度なので使うべき。
nullチェック用に使うとnullで来ることを想定していないため平均的には
一番最初の条件がHitする確率が高いはずである。
sw.Start(); for (int i = 0; i < 500000; i++) { if (String.IsNullOrEmpty(a)) { } } sw.Stop(); Console.WriteLine(sw.ElapsedTicks); sw.Reset(); sw.Start(); for (int i = 0; i < 500000; i++) { if (a == null || a == "") { } } sw.Stop(); Console.WriteLine(sw.ElapsedTicks); sw.Reset();
2012-03-24 08:10
nice!(0)
コメント(0)
トラックバック(0)
コメント 0