Tuesday, May 27, 2008

Perhitungan Durasi Eksekusi

Sering sekali kita ingin mengukur performansi dari aplikasi Java kita berdasarkan durasi eksekusi aplikasi tersebut.

Untuk itu saya menulis tips ini dalam bentuk satu source code, dimana kita menghitung durasi waktu dalam mili detik dan kemudian dikonversi ke satuan detik.

Dalam contoh ini, operasi yang dilakukan adalah pembacaan isi folder temp.


package org.phiintegration.com;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;

/**
* Ini adalah contoh perhitungan durasi waktu yang diperlukan
* untuk menjalankan keseluruhan aplikasi di thread Main.
*
* Dalam contoh ini kita melakukan perhitungan durasi waktu
* yang diperlukan untuk membaca daftar folder di temporary folder.
*
* @author Feris Thia
*
*/

public class DurasiBrowsingFolder {
public static void main(String[] args) throws IOException, Exception {

//Mencatat waktu awal proses
long waktuMulai= System.currentTimeMillis();

//Proses membaca daftar file di lokasi folder temp Java
String curDir = System.getProperty("java.io.tmpdir");
File dir = new File(curDir);

String[] entriFolder = dir.list();
if (entriFolder != null) {
for (int i=0; i<entriFolder.length; i++) {
String namaFile = entriFolder[i];
System.out.println(namaFile);
}
}


//Akhir proses

//Mencatat waktu akhir proses
long waktuSelesai = System.currentTimeMillis();

//Menghitung durasi dalam detik dan
//mencetak dengan format ##0.000000
double newRunTime = (double)(waktuSelesai - waktuMulai) / 1000;
DecimalFormat runtimeDF = new DecimalFormat("##0.000000");

System.out.println("Durasi eksekusi : " +
runtimeDF.format(newRunTime) +
" detik");
}
}

1 comment:

Ade Malsasa Akbar said...

Program Anda ini rapi sekali. Saya memang sedang mencari kode Java untuk hitung durasi. Tapi ini rumit sekali. Adakah yang lebih simpel, Kang? Cuma menghitung menit dari selisih jam yang dimasukkan.

Terima kasih. Hubungi saya ke blog saya, ya?