ベンチマークを数回実行し、平均値を書き留めます。しかし、私は、最初の実行の後で、その後の実行がより速いことに気付きます。私はそれが命令キャッシュと関係があると思うので、次回にプログラムを実行すると、ベンチマークはすでにキャッシュに命令を持っています。コールド命令とデータキャッシュの両方でプログラムを開始する方法はありますか?コールドキャッシュを使用してプログラムを起動する方法
6
A
答えて
4
これは正常な動作です。この問題を回避する1つの方法は、メイン実行前にウォームアップすることはほとんどありません。これらのウォームアップ・ランは、以前に実行していたプログラムを成長させたキャッシュ・メモリーを上書きします。平均値を計算している間、ウォームアップラン値を除外するのは、実際に実行するだけです。これらのアプローチをとるさまざまなベンチマーキングツールがあります。 kernbench、lmbenchなど。ウォームアップ値が利用可能な場合。
実行中のベンチマークがディスクから読み込む必要のあるデータに依存する場合、ディスクキャッシュにも影響があります。可能な場合は、これらのデータをRAMにキャッシュする方法があります。このテクニックは、ディスクキャッシュ関連の問題を避けるためにkernbenchで使用されています。
関連する問題
- 1. バッチを使用してプログラムを自動再起動する
- 2. C#のプログラムを起動スイッチを使用して起動するプロセス
- 3. powershell:パラメータを使用してプログラムを起動するスクリプト?
- 4. C#でホットキーを使用してプログラムを起動するには?
- 5. shouldOverrideKeyEventを使用してJavascript関数を起動する方法
- 6. angularJSを使用してhtmlページを起動する方法
- 7. javaを使用してサーバーを起動する方法は?
- 8. NFC - NDEF_DISCOVEREDを使用してアプリを起動する方法
- 9. Pacemakerを使用してhttpdを再起動する方法
- 10. 1クロックパルスイネーブルを使用してカウンタを起動する方法
- 11. バージョンコントロールを使用して起動する方法
- 12. C#プログラムを使用してDLLを起動
- 13. VSコードを使用してPHPを起動してデバッグする方法は?
- 14. バッチファイルを使用して管理者としてコマンドプロンプトを起動する方法
- 15. システム起動時にrc.localファイルを使用してプログラムを起動するのは正しいですか?
- 16. C#でwinformアプリケーションをプログラムで自動起動する方法は?
- 17. WPFアプリケーションを起動するC#プログラムを使用する
- 18. Windowsでpowershellを使用して複数のデスクトップでプログラムを起動する
- 19. Windows 7起動時にプログラムを起動する(自動起動)
- 20. 特定のUbuntu isoを選択して起動するプログラムを起動する
- 21. ドメインサービスクラスを使用して更新プログラムを適用する方法
- 22. Three20のURLパラメータを使用して電子メールアドレスを使用して電子メールクライアントを起動する方法
- 23. javascriptを使用して、プログラムでiOS Safariのコピーメニューを起動しますか?
- 24. VirtualBox:SDK APIを使用してゲストでプログラムを起動しますか?
- 25. Softlayer Python APIを使用して仮想マシンを再起動する方法
- 26. Google Chromeを使用してフルスクリーンモードでWebアプリケーションを起動する方法は?
- 27. ブラウザからphpを使用してawsインスタンスを起動する方法
- 28. コマンドラインを使用してWindowsサービスの起動タイプを変更する方法
- 29. adbシェルを使用してAndroidアプリケーションを起動する方法は?
- 30. UIViewControllerを使用してcocos2dでシーンを再起動する方法
ディスクキャッシュの可能性が高いと思いますか? –
これは、CPUキャッシュのためではなく、プログラムとデータがディスクから読み取られたためです。 – sharptooth
いい質問です! –