1

私はプロファイリングに不慣れです。シンプルで簡単に構成できるように見えるので、EclipseTPTPから始めることにしました。

私はこの基本的なアプリケーションから始めました

public class As {

    public static void main(String args[]) {
        Two t = new Two();

        t.two();

    }
}


=====================

public class Two

{

    public void two() {
        System.out.println("Two");
    }

}

==============

ProfileAsJavaApplicationを使用してAs.javaでプロファイラーを実行した後。スクリーンショットは次のように表示されます:

こちらのスクリーンショットをご覧ください

http://imageshack.us/f/11/shareb.jpg/

基準時間、平均基準時間、累積時間の意味を教えてください。

4

2 に答える 2

2

基本時間:メソッドの実行にかかった時間(秒単位)。このメソッドから呼び出された他のメソッドの実行時間は含まれません。

平均ベース時間:このメソッドを1回実行するために必要な平均ベース時間。

累積基本時間:このメソッドの実行にかかった時間(秒単位)。このメソッドから呼び出された他のメソッドの実行時間を含みます。

呼び出し:このメソッドが呼び出された回数。

この情報が掲載されている次のチュートリアルをご覧ください。Javaアプリケーションのプロファイリングの概要

于 2011-07-06T08:35:22.643 に答える
0

実際に役立つ情報は、合計時間のパーセントとしての累積時間です。これは、ルーチンがスタック上にある時間の割合です。つまり、呼び出された回数に関係なく、ルーチン自体を実行するか、他の関数を呼び出します。

数値が役立つ理由は、そのような関数を大幅に高速化できた場合、そのパーセントが合計時間をどれだけ短縮できるかを示しているためです。

たとえば、ルーチンAの累積パーセント時間が10%の場合、その時間をゼロに減らすことができたとしても、合計時間は10%しか減少しません。ソフトウェアを高速化するには、多くの場合、サブルーチンへの呼び出しを少なくすることで、スクイーズできる累積パーセントの高いルーチンを見つける必要があります。

呼び出し回数とルーチンの平均実行時間は、累積パーセントを計算するのに役立つ範囲でのみ役立ちます。また、測定の精度は、最適化する機能を見つけるのに役立つことを除いて、それほど重要ではありません。関数を最適化すると、事前にどれだけ注意深く測定されたかに関係なく、節約された時間はそれだけです。

于 2011-07-06T19:19:52.767 に答える