Cara Terbaik untuk Mengukur Masa Pelaksanaan Fungsi dalam C pada Linux
Mengukur masa pelaksanaan fungsi adalah penting untuk analisis prestasi dan pengoptimuman dalam program C. Artikel ini membincangkan cara untuk menentukan masa pelaksanaan fungsi pada sistem Linux dengan berkesan.
Menggunakan boost::chrono untuk Mengukur Masa CPU
Sementara rangsangan:: perpustakaan chrono menyediakan pelbagai fungsi berkaitan masa, ia tidak disyorkan untuk mengukur masa pelaksanaan fungsi tertentu. Fungsi process_user_cpu_clock mengukur masa pengguna-CPU yang dibelanjakan oleh proses semasa, yang mungkin tidak mewakili masa pelaksanaan fungsi dengan tepat, terutamanya dalam persekitaran berbilang benang.
Penyelesaian: std::chrono
Pendekatan yang disyorkan untuk mengukur masa pelaksanaan fungsi adalah dengan menggunakan perpustakaan std::chrono diperkenalkan dalam C 11. Ia menyediakan ukuran masa yang tepat melalui std::chrono::high_resolution_clock.
Berikut ialah contoh cara mengukur masa pelaksanaan fungsi menggunakan std::chrono: :high_resolution_clock:
#include <chrono> #include <iostream> #include <thread> void long_operation() { std::this_thread::sleep_for(150ms); // Simulating a long operation } int main() { auto t1 = std::chrono::high_resolution_clock::now(); long_operation(); auto t2 = std::chrono::high_resolution_clock::now(); auto ms_int = std::chrono::duration_cast<std::chrono::milliseconds>(t2 - t1); std::cout << ms_int.count() << "ms\n"; return 0; }
Kod ini menunjukkan ukuran masa pelaksanaan fungsi long_operation. Ia mencetak masa pelaksanaan dalam milisaat.
Nota Tambahan
Atas ialah kandungan terperinci Apakah Cara Terbaik untuk Mengukur Masa Pelaksanaan Fungsi C di Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!