LoginSignup
0
1

More than 5 years have passed since last update.

パフォーマンス プロファイラーを使ってみる

Last updated at Posted at 2017-11-23

Niigata.NET 3.0に参加してきましたのフォローアップです。

概要

Niigata.NET 3.0に参加して、Visual Studioにパフォーマンス プロファイラーたる機能があると教えてもらいました。
早速使ってみます。

分析コード

PerformanceProfiler
/// <summary>
/// ref https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/inside-a-program/coding-conventions
/// </summary>
class Program
{
    static void Main()
    {
        ConcatbyString();
        ConcatbyStringBuilder();
    }

    private static void ConcatbyString()
    {
        var phrase = "lalalalalalalalalalalalalalalalalalalalalalalalalalalalalala";
        var stringPhrases = "";
        for (var i = 0; i < 10000; i++)
        {
            stringPhrases += phrase;
        }
        Console.WriteLine("tra" + stringPhrases);
    }

    private static void ConcatbyStringBuilder()
    {
        var phrase = "lalalalalalalalalalalalalalalalalalalalalalalalalalalalalala";
        var stringBuilderPhrases = new StringBuilder();
        for (var i = 0; i < 100000; i++)    // 早すぎると測定できないようなのでstringの10倍ループ
        {
            stringBuilderPhrases.Append(phrase);
        }
        Console.WriteLine("tra" + stringBuilderPhrases);
    }
}

分析結果

PerformanceProfiler.PNG

  • +演算子による結合=1,780秒
  • StringBuilderによる結合=68秒※試行回数は+演算子の10倍
  • 約262倍ですね。

まとめ

Stopwatchは卒業でしょうか。

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1