1

SQL Serverでは、パフォーマンスを確認したいときに、すべてのバッファーをクリアします-真の結果を得るために:私は

  CHECKPOINT 1
  DBCC DROPCLEANBUFFERS
  dbcc FREEPROCCACHE 

それから私は間の差異をチェックしますGetDate()'s

バッファ/「スピードヘルパー」メカニズムをクリアするには、C#でどのコマンドを使用する必要がありますか? (ストップウォッチを使うつもりです)。

ありがとう。

4

1 に答える 1

1

.NETプログラムには多くの「キャッシュ」があり、すべてをクリアできるわけではありません。プロセスだけでなく、コンピューターで実行されている他のプロセスによっても満たされるCPUキャッシュがあります。関数が最初に呼び出されたときに関数をコンパイルするジッターがあり、最初の反復が他のどの反復よりもはるかに長くなります。あらゆる種類のI/Oを使用している場合は、それらのキャッシュとバッファーもあります。

その上、なぜあなたはキャッシュをクリアしたいのですか?彼らはあなたを助けるためにそこにいます。現実の世界では、キャッシュヒットはパフォーマンスに役立ちます-キャッシュとバッファを考慮しながらプログラムのパフォーマンスを測定してみませんか?

Stopwatchとにかく、パフォーマンスを測定するには、の代わりにプロファイラーを使用する必要があると思います。これはSQLServerにも当てはまります。

于 2012-04-03T20:14:28.107 に答える