Frameworkのアプリケーションのベンチマークを取るためのフレームワークである。デファクトスタンダードといってもいい。startedを参考にしてほしい。Coreのコンソールアプリとして作成する必要がある。startedの通りではなく、以下のように記述する。argsをBenchmarkSwitcherに渡して、FromAssenblyでプロジェクト全体からベンチマーククラスを探させる。することで、コマンドラインオプションでベンチマークの取り方を制御できる。startedにしたがってベンチマークを書く。発行ベンチマークが出来上がったら、MyBenchmarksプロジェクトのコンテキストメニューから発行を選択する。発行先を聞いてくるのでデフォルトのまま発行する。v3)が結果のゆらぎが一番少なかった。SDKのダウンロードページでインストール手順の説明があるものから選択する。SDKをインストールする。ベンチマークの実行ベンチマークのソリューションディレクトリを、VMのホームディレクトリにrsyncで転送する。BenchmarkDotNetは、発行先のpublishフォルダからslnファイルまでさかのぼってディレクトリ構成をチェックする。そのため、中途半端な転送の仕方をすると動かない。転送したら以下のようにベンチマークを起動する。BenchmarkDotNetがプロセスの実行優先度を上げるので、sudoでroot権限を与えておくこと。それと—filterで実行するベンチマーククラスを指定すること。Md5VsSha256—filterを指定しないと、ベンチマークを含むクラスの一覧をBenchmarkSwitherが表示して、どれを実行するかを対話的に聞いてくる。BenchmarkDotNet.Artifacts/results以下に結果が出力される。Studioで書き換えてもよいが、そのたびに発行、転送の手順が必要になる。それを避けるために、BenchmarkDotNetのコマンドラインオプションを覚えたほうがいい。—filterを使うと、実行するベンチマークをネームスペース単位からメソッド単位までglobパターンを使って選択できる。—jobを使うとプログラムを繰り返し実行する回数を、Dry/Short/Medium/LongあるいはDefaultのプリセットから選択できる。これくらいは使いこなさないとしんどい。Qrunch.netサーバー提供フィードバックを送信する。