0

Java プロジェクトで作業していますが、プロファイリング ツールは使用していません。

プロファイリング ツールを使用せずに、メソッドの実行にかかる時間を調べる方法はありますか?

4

3 に答える 3

1

次のようなものを使用しないのはなぜですか。

int startTime = System.currentTimeMillis();
methodCall();
int endTime = System.currentTimeMillis();
int totalTime = endTime - startTime;
System.out.println("Time to complete: " + totalTime);

次に、/ 1000などを追加して、必要に応じて時間をフォーマットできます。

于 2012-09-21T19:15:04.673 に答える
0

System.currentTimeMillis()を使用して、開始前と終了時にSystem.currentTimeMillis()をキャッチします。メソッドの実行にかかる時間を知ることができます。

void fun(){
  long sTime=System.currentTimeMillis();
  ...
  System.out.println("Time Taken to execute-"+System.currentTimeMillis()-sTime+" milis");
}
于 2012-09-21T19:16:12.493 に答える
0

タイミングをキャプチャするサンプル プログラムを次に示します。

package com.quicklyjava;

public class Main {

/**
 * @param args
 * @throws InterruptedException
 */
public static void main(String[] args) throws InterruptedException {
    // start time
    long time = System.nanoTime();
    for (int i = 0; i < 5; i++) {
        System.out.println("Sleeping Zzzz... " + i);
        Thread.sleep(1000);
    }

    long difference = System.nanoTime() - time;
    System.out.println("It took " + difference + " nano seconds to finish");

 }

}

出力は次のとおりです。

Sleeping Zzzz... 0
Sleeping Zzzz... 1
Sleeping Zzzz... 2
Sleeping Zzzz... 3
Sleeping Zzzz... 4
It took 5007507169 nano seconds to finish
于 2012-09-22T02:11:58.333 に答える