C# 文字列Boolean変換処理で「Convert.ToBoolean」と「Boolean.TryParse」のパフォーマンスを計測して比較する
C#で、文字列Boolean変換処理を「Convert.ToBoolean」と「Boolean.TryParse」のそれぞれで実行したパフォーマンスを計測して比較するコードと結果を記述してます。「Boolean.TryParse」のわずかに速そうです。
環境
- OS windows11 pro 64bit
- Microsoft Visual Studio Community 2022 Version 17.2.3
パフォーマンス計測
「System.Diagnostics.Stopwatch」を使用して、文字列Boolean変換処理で「Convert.ToBoolean」と「Boolean.TryParse」を100万回実行して、計測した結果を比較してみます。
using System;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
var time = new System.Diagnostics.Stopwatch();
int n = 1_000_000;
string txt = "true";
Boolean a,b;
TimeSpan ts;
// 計測開始
time.Start();
for (int i = 0; i < n; i++)
{
a = Convert.ToBoolean(txt);
}
time.Stop();
ts = time.Elapsed;
System.Diagnostics.Debug.WriteLine($"Convert.ToBoolean : {time.ElapsedMilliseconds}ms");
// 計測開始
time.Reset(); // リセット
time.Start();
for (int i = 0; i < n; i++)
{
Boolean.TryParse(txt, out b);
}
time.Stop();
ts = time.Elapsed;
System.Diagnostics.Debug.WriteLine($"Boolean.TryParse : {time.ElapsedMilliseconds}ms");
}
}
}
実行結果をみると「Boolean.TryParse」の方が微妙に良さそうです。
【1回目】
Convert.ToBoolean : 11ms
Boolean.TryParse : 9ms
【2回目】
Convert.ToBoolean : 11ms
Boolean.TryParse : 9ms
【3回目】
Convert.ToBoolean : 11ms
Boolean.TryParse : 9ms
-
前の記事
ruby 配列内にある要素を要素別にカウントする 2023.02.06
-
次の記事
Android Studio 最後に編集した場所に移動するショートカットキー 2023.02.06
コメントを書く