So-net無料ブログ作成
検索選択

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秒違うというのは驚きでした。
思わぬボトルネックを作らないように気をつけないといけないですね。

時間があったら、なぜなのか詳しく調べてカキコしてみようかな。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。

関連リンク

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。