Как рассчитать прошедшее / время выполнения в Java
В Java вы можете использовать следующие способы измерения прошедшего времени в Java.
1. System.nanoTime()
Это рекомендуемое решение для измерения прошедшего времени в Java.
ExecutionTime1.java
package com.example.time; import java.util.concurrent.TimeUnit; public class ExecutionTime1 { public static void main(String[] args) throws InterruptedException { //start long lStartTime = System.nanoTime(); //task calculation(); //end long lEndTime = System.nanoTime(); //time elapsed long output = lEndTime - lStartTime; System.out.println("Elapsed time in milliseconds: " + output / 1000000); } private static void calculation() throws InterruptedException { //Sleep 2 seconds TimeUnit.SECONDS.sleep(2); } }
Выход может отличаться.
2004
2. System.currentTimeMillis()
ExecutionTime2.java
package com.example.time; import java.util.concurrent.TimeUnit; public class ExecutionTime2 { public static void main(String[] args) throws InterruptedException { long lStartTime = System.currentTimeMillis(); calculation(); long lEndTime = System.currentTimeMillis(); long output = lEndTime - lStartTime; System.out.println("Elapsed time in milliseconds: " + output); } private static void calculation() throws InterruptedException { //Sleep 2 seconds TimeUnit.SECONDS.sleep(2); } }
Выход может отличаться.
2006
3. Instant.now().toEpochMilli()
В Java 8 вы можете попробовать новыйjava.time.Instant
ExecutionTime3.java
package com.example.time; import java.time.Instant; import java.util.concurrent.TimeUnit; public class ExecutionTime3 { public static void main(String[] args) throws InterruptedException { long lStartTime = Instant.now().toEpochMilli(); calculation(); long lEndTime = Instant.now().toEpochMilli(); long output = lEndTime - lStartTime; System.out.println("Elapsed time in milliseconds: " + output); } private static void calculation() throws InterruptedException { //Sleep 2 seconds TimeUnit.SECONDS.sleep(2); } }
Выход может отличаться.
2006
4. Date (). GetTime ()
ExecutionTime4.java
package com.example.time; import java.util.Date; import java.util.concurrent.TimeUnit; public class ExecutionTime4 { public static void main(String[] args) throws InterruptedException { long lStartTime = new Date().getTime(); calculation(); long lEndTime = new Date().getTime(); long output = lEndTime - lStartTime; System.out.println("Elapsed time in milliseconds: " + output); } private static void calculation() throws InterruptedException { //Sleep 2 seconds TimeUnit.SECONDS.sleep(2); } }
Выход может отличаться.
2007