ในการสร้างตัวจับเวลาความละเอียดสูง เราสามารถใช้ไลบรารีโครโน ห้องสมุดนี้มีนาฬิกาความละเอียดสูง ซึ่งสามารถนับเป็นนาโนวินาที
ในโปรแกรมนี้ เราจะเห็นเวลาดำเนินการในหน่วยนาโนวินาที เราจะหาค่าของเวลาในตอนแรก จากนั้นหาค่าของเวลาครั้งสุดท้าย จากนั้นหาค่าส่วนต่างเพื่อให้ได้เวลาที่ผ่านไป ในที่นี้เรากำลังใช้การวนซ้ำที่ว่างเปล่าเพื่อหยุดเอฟเฟกต์ชั่วคราวในบางครั้ง
ตัวอย่าง
#include <iostream> #include <chrono> typedef std::chrono::high_resolution_clock Clock; main(){ auto start_time = Clock::now(); for(int i = 0; i<200000000; i++) { //create one empty loop ; } auto end_time = Clock::now(); std::cout << "Time difference:" << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time - start_time).count() << " nanoseconds" << std::endl; }
ผลลัพธ์
Time difference: 536395307 nanoseconds