Diselesaikan: Java mendapatkan waktu pengecualian

Pembaharuan Terakhir: 06/19/2023

dapatkan waktu pengecualian Dunia pemrograman sangat luas dan kompleks, dan selalu ada tantangan menarik yang harus dihadapi pengembang setiap hari. Salah satu tantangan tersebut adalah mengukur waktu eksekusi dari sebuah kode. Terkadang, ini sangat penting untuk mengoptimalkan kinerja aplikasi. Pada artikel ini, kita akan mengeksplorasi pendekatan yang berguna di Java untuk menghitung dan mendapatkan waktu eksekusi dari potongan kode tertentu. Kami akan melihat lebih dekat sintaks dan metode yang terlibat dalam proses ini, dan memberikan penjelasan langkah demi langkah untuk membantu Anda memahami solusi dengan lebih baik.

Untuk memulainya, mari kita bahas solusi dari masalah yang dihadapi. Java menyediakan metode bawaan, yang disebut System.nanoTime(), untuk mengukur waktu yang berlalu dalam nanodetik. Metode ini berguna saat mengukur waktu yang dibutuhkan untuk mengeksekusi satu blok kode.

long startTime = System.nanoTime();
// Your code here
long endTime = System.nanoTime();
long executionTime = endTime - startTime;

Pendekatannya agak sederhana: kami mencatat waktu mulai tepat sebelum mengeksekusi blok kode yang bermasalah dan kemudian mencatat waktu berakhir tepat setelah eksekusi kode. Setelah itu, kita dapat menghitung durasi dan sampai pada waktu eksekusi kode yang sebenarnya.

Penjelasan Kode Langkah-demi-Langkah

Langkah 1: Catat waktu awal menggunakan System.nanoTime():

long startTime = System.nanoTime();
  • The waktu mulai variabel akan menyimpan waktu awal yang diperoleh dari System.nanoTime().

Langkah 2: Jalankan blok kode yang ingin Anda ukur:

// Your code here
  • Langkah ini terutama berfungsi untuk mendemonstrasikan penempatan blok kode Anda mengikuti perhitungan waktu mulai.

Langkah 3: Catat waktu terakhir setelah blok kode Anda dieksekusi:

long endTime = System.nanoTime();
  • The akhir waktu variabel menyimpan waktu saat ini yang diperoleh dari System.nanoTime() setelah eksekusi blok kode.

Langkah 4: Hitung dan tampilkan waktu eksekusi:

long executionTime = endTime - startTime;
System.out.println("Execution time: " + executionTime + " nanoseconds");
  • The waktu pelaksanaan variabel menyimpan perbedaan antara waktu akhir dan waktu mulai.
  • Pernyataan println menampilkan waktu eksekusi dalam nanodetik.

Metode System.nanoTime()

Di bagian ini, kita akan mempelajari detail metode System.nanoTime(). Penting untuk memahami fungsionalitas metode untuk memastikan bahwa Anda mendapatkan hasil yang akurat dalam pengukuran Anda:

  • Sistem.nanoTime() mengembalikan nilai saat ini dari pengatur waktu sistem paling tepat yang tersedia dalam nanodetik. Timer ini memiliki presisi nanodetik tetapi jangan disamakan dengan akurasi—itu hanya menyediakan pengukuran waktu yang tepat.
  • Sistem.nanoTime() sangat ideal untuk mengukur waktu yang telah berlalu karena tidak terpengaruh oleh penyesuaian jam sistem apa pun.
  • Perhatikan bahwa ini tidak dimaksudkan untuk mendapatkan stempel waktu absolut; tujuannya terletak murni dalam mengukur interval waktu.

Alternatif untuk System.nanoTime()

Meskipun System.nanoTime() adalah metode paling tepat yang tersedia, metode lain dapat digunakan untuk mengukur waktu eksekusi berdasarkan kebutuhan seseorang.

  • Sistem.saat iniWaktuMillis(): Mengembalikan waktu saat ini dalam milidetik sejak 1 Januari 1970, pada 00:00:00 GMT (Epoch Unix). Ini kurang tepat dibandingkan System.nanoTime() tetapi mungkin cukup untuk kasus penggunaan tertentu.
  • Kelas Stopwatch Java: Kelas utilitas ini menyediakan antarmuka tingkat tinggi dan lebih ramah pengguna untuk mengukur waktu yang telah berlalu. Ini adalah bagian dari perpustakaan Google Guava, memastikan kemudahan implementasi dan teknik yang jelas saat mengukur waktu eksekusi.

Kesimpulannya, mengukur waktu eksekusi dari bagian kode tertentu sangat penting untuk mengoptimalkan kinerja dalam aplikasi Java. Dengan memanfaatkan metode System.nanoTime(), developer dapat memperoleh pengukuran yang akurat dan menyelesaikan kemacetan aplikasi dengan mudah.

Pos terkait: