特定のアルゴリズムの実行時間を経験的に測定することに取り組んでいます (漸近的な動作をチェックするため)。実験の前にターゲット コンピューターを "クリーンアップ" するための一連のルールを考え出そうとしています。これは実際にはAgner Fogのレベルのパフォーマンスではありませんが、それでも可能な限りクリーンなマシンから始めたいと思います (そして、できる限り一定のオーバーヘッドでマシンを維持します)。私はこれまでに持っています:
- すべての電源管理を無効にする
- スクリーンサーバーを無効にします (おそらく X を完全に無効にしますか?)
- ネットワークを無効にする
- シングルユーザーモードで起動 [Kenneth Hoste]
- 実験を複数回実行する (偶然の出来事をスムーズにするため)
- 最大周波数で実行するように構成された周波数スケーリング [binarym]
- ?
明らかに、実験を数回繰り返すことである程度の統計力が得られますが、できるだけクリーンなマシンでこれを行いたいと考えています.
プログラムのプロファイリング中にマシンを一定に保つために、人々が知っている他のトリックは何ですか? これは Linux マシンであり、「ルール」が Linux 固有であれば問題ありません。