在 C 程式設計中,可以有效地測量函數的執行時間。 Boost.Chrono 函式庫提供了 process_user_cpu_clock() 函數,該函數會擷取目前處理程序使用的使用者 CPU 時間。此函數以及替代方法為效能最佳化提供了寶貴的見解。
在 Boost.Chrono 中使用 process_user_cpu_clock() 非常簡單。以下是一個例子:
#include <boost/chrono.hpp> #include <iostream> void long_operation() { // Simulating a long operation boost::chrono::process_user_cpu_clock timer; while (timer.seconds() < 1) { } } int main() { boost::chrono::process_user_cpu_clock start; long_operation(); boost::chrono::process_user_cpu_clock stop; std::cout << "Execution time: " << (stop - start).seconds() << " seconds" << std::endl; return 0; }
在C 11 中,來自
#include <chrono> #include <iostream> void long_operation() { // Simulating a long operation std::chrono::high_resolution_clock timer; std::this_thread::sleep_for(std::chrono::seconds(1)); } int main() { std::chrono::high_resolution_clock::time_point start = std::chrono::high_resolution_clock::now(); long_operation(); std::chrono::high_resolution_clock::time_point stop = std::chrono::high_resolution_clock::now(); std::cout << "Execution time: " << std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count() << " milliseconds" << std::endl; return 0; }
兩種方法都提供可靠的測量。 std::chrono::high_resolution_clock() 是測量特定函數持續時間的首選。 Boost.Chrono 提供了額外的功能,例如執行緒計時和上下文計時器。
透過利用這些方法,開發人員可以有效地確定函數的執行時間,從而實現良好的最佳化和高效C 程式。
以上是如何測量 C 函數的執行時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!