効率を証明するために、自分が作成したJavaプログラムをテストしようとしています。実行するさまざまなテストがあり、実行時分析を正確にしようとしています。問題は、さまざまなテストが一般的なディスク上の情報にアクセスする可能性があることです。したがって、実験結果を「公平」にするために、実験の合間に、Javaプログラムで使用されている内部メモリをプログラムでクリアしたいと思います。つまり、各実験で同じ「空のメモリ/キャッシュ」を使用する必要があります。
実験の合間に大きなファイルを読んでみました。また、マシンを再起動してみました。興味深いことに、大きなファイルを読み込んだ後、単にマシンを再起動した場合(たとえば、40秒から5秒)、時間が大幅に悪化します。各実験の間にマシンを再起動する以外に、内部メモリをクリアする(つまり、一般的なディスクアクセスからの実験の人為的な高速化を回避する)正しい方法は何ですか?これは実行不可能です。