0

私は自分のアプリケーションに「ストップウォッチ」を装備しました。通常、(重要な)機能ごとに1つのそのようなストップウォッチがあります。これらのストップウォッチは、リアルタイム、スレッド時間(および処理時間ですが、処理時間はあまり役に立たないようです)、および呼び出し回数を測定します。4つの値のいずれかをキーとして使用して、個々のストップウォッチを明らかに並べ替えることができます。ただし、これは常に役立つとは限らず、たとえば、トップレベルの関数/ストップウォッチはアプリケーションの実行時間のほとんどすべてを測定するため、最適化の機会を探すときにトップレベルの関数を無視する必要があります。

見て最適化する価値のある機能/ストップウォッチを指摘するようなスコアやヒューリスティックに関する研究はありますか?

4

1 に答える 1

0

目標は最適化する価値のあるコードを見つけることであり、それは良いことですが、質問は多くの人が考えていること、つまり「遅いメソッド」を探していることを前提としています。

ただし、最適化が必要であると認識できる特定のメソッドを使用する以外に、プログラムが不必要に時間を費やす方法は他にもあります。さらに、それらの問題を無視することはできません。他の問題を見つけて修正すれば、どれだけの時間がかかっても、全体に占める割合がますます大きくなるからです。

私の経験によるパフォーマンス チューニングでは、時間を測定することで、修正したものが役に立ったかどうかを判断できますが、何を修正すべきかを判断するのにはあまり役に立ちません。たとえば、プロファイラーの出力を理解しようとしている人々から、SO に関する多くの質問があります。私が頼りにしている方法は、ここで概説されています

于 2012-11-06T22:37:58.470 に答える