Mengukur Masa Pelaksanaan dengan Ketepatan dalam C
Pengukuran masa pelaksanaan yang tepat adalah penting dalam mengoptimumkan prestasi kod. Dalam C , fungsi clock() menyediakan cara untuk mengira masa berlalu. Walau bagaimanapun, ia boleh mengembalikan hasil yang tidak boleh dipercayai dengan coretan kod pendek.
Penghadan jam()
Untuk input kecil atau pernyataan satu baris, clock() selalunya melaporkan pelaksanaan kali "0 saat." Percanggahan ini timbul kerana fungsi clock() mempunyai butiran milisaat atau nanosaat, bergantung pada sistem. Untuk tempoh pelaksanaan yang lebih pendek daripada butiran ini, clock() dibundarkan ke bawah kepada sifar.
Penyelesaian: Menggunakan GetTimeMs64()
Untuk mengatasi had ini, pertimbangkan untuk menggunakan fungsi utiliti GetTimeMs64(). Fungsi ini mengukur masa berlalu dengan tepat sejak zaman Unix, dalam milisaat dan berfungsi pada kedua-dua platform Windows dan Linux.
Fungsi GetTimeMs64() menggunakan jam sistem pada Windows menggunakan GetSystemTimeAsFileTime(). Di Linux, ia menggunakan gettimeofday() untuk mendapatkan masa semasa. Ia menukar nilai yang diperoleh kepada milisaat dan menolak offset daripada zaman Unix untuk diselaraskan dengan standard masa Unix.
Pelaksanaan
Untuk menggunakan GetTimeMs64(), cuma masukkan kod berikut dalam atur cara anda:
#include <Windows.h> // or #include <sys/time.h> #include <ctime> uint64 GetTimeMs64() { // Code from provided solution goes here }
Untuk mengira masa pelaksanaan sesuatu coretan kod:
Contoh Penggunaan:
uint64 startTime = GetTimeMs64(); // Your code here uint64 endTime = GetTimeMs64(); cout << "Execution time: " << (endTime - startTime) / 1000.0 << " seconds" << endl;
Kaedah ini menyediakan ukuran masa pelaksanaan yang tepat walaupun untuk coretan kod kecil atau pernyataan pendek. Ia membolehkan pembangun mengoptimumkan kod mereka dengan berkesan dan mengukur peningkatan prestasi dengan tepat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengukur Masa Pelaksanaan Kod dengan Tepat dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!