ورود

View Full Version : سوال: متدی برای محاسبه زمان اجرا؟



mimre73
یک شنبه 14 تیر 1394, 12:16 عصر
سلام دوستان وقت بخیر
آیا در جاوا متدی برای محاسبه زمان اجرا وجود داره؟

-سیّد-
دوشنبه 15 تیر 1394, 00:22 صبح
سلام
منظور شما اینه که مدت زمان اجرای یه بخش از کد رو اندازه بگیریم؟

در حالت عادی، معمولاً این کار به کمک تابع System.currentTimeMillis انجام می‌شه، به این صورت که قبل از اجرای اون بخش از کد، یک بار این تابع رو فراخوانی می‌کنید، و زمان شروع رو به دست میارید. بعد از اجرای کد هم یک بار فراخوانی می‌کنید و زمان پایان رو به دست میارید. بعد این ۲ تا رو از هم کم می‌کنید و مدت زمان اجرای برنامه در واحد میلی‌ثانیه به دست میاد. مثلاً:

public static void f() {
...
}

public static void main(String[] args) {
long t1 = System.currentTimeMillis();
f();
long t2 = System.currentTimeMillis();
System.out.println("Time in milliseconds: " + (t2 - t1));
}


در صورتی که سرعت اجرای کدتون انقدر بالا هست که به یک میلی‌ثانیه نمی‌رسه و نیاز به واحد دقیق‌تری دارید، می‌تونید از System.nanoTime استفاده کنید که با دقت بیشتری بهتون زمان رو برمی‌گردونه.