stringとStringBuilderの連結速度 [C#]
文字列を何回も連結する場合は「StringBuilder」を利用した方が、
実行速度が速くなりますよね。
気になったので、どのくらい早いのか試してみました。
-- 以下 実行したテストメソッド --
public void test()
{
string str = "";
StringBuilder sb = new StringBuilder("");
Console.WriteLine(DateTime.Now.ToString());
for (int i = 0; i < 100000; i++)
{
str = str + "A";
}
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("len={0}", str.Length);
Console.WriteLine(DateTime.Now.ToString());
for (int i = 0; i < 100000; i++)
{
sb.Append("B");
}
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("len={0}", sb.Length);
}
-- ここまで --
-- 実行結果 --
2006/08/01 17:21:46
2006/08/01 17:21:54
len=100000
2006/08/01 17:21:54
2006/08/01 17:21:54
len=100000
-- ここまで --
さすがに10万回連結するとかなーり速度が違いますね^^;
8秒違うというのは驚きでした。
思わぬボトルネックを作らないように気をつけないといけないですね。
時間があったら、なぜなのか詳しく調べてカキコしてみようかな。







コメント 0