Javaでconcretメソッドの実行時間を測定したいと思っています。より正確に言うと、System.currentTimeMillis() ではなく System.nanoTime() メソッドを実装しました。
long startTime = System.nanoTime();
ServerRequestState state = (ServerRequestState) search.getGoalState();
long endTime = System.nanoTime();
long elapsedTime = (endTime - startTime) / 1000000; // time in ms
しかし、これは私にとってはうまくいきませんでした。メソッドは 30 秒から 40 秒後に実行されますが、変数の結果は 4 ミリ秒、場合によっては 1 ミリ秒と表示されます。
これが機能しない理由はありますか?