নিচের সিনট্যাক্স ব্যবহার করে একটি কোড স্নিপেটের এক্সিকিউশন টাইম ক্যালকুলেট করা যায় -
auto start = high_resolution_clock::now(); // Start time // Code snippet auto stop = high_resolution_clock::now(); // Stop time auto duration = duration_cast(stop - start); // Duration
high_resolution_clock ক্লাস "chrono" হেডার ফাইলে ডিফাইন করা আছে। now() ফাংশন কলটির টাইম পয়েন্ট অনুযায়ী একটি মান রিটার্ন করে।
একটি হেডার ফাইল ব্যবহার করা হয় সেই নির্দিষ্ট কোডের লেন টাইম রেকর্ড করতে।
#include <chrono> using namespace std::chrono;
একটি কোড স্নিপেটের এক্সিকিউশন টাইম ক্যালকুলেট করার একটি উদাহরণ নিচে দেওয়া হল।
উদাহরণ
#include <iostream>
#include <chrono>
using namespace std::chrono;
using namespace std;
int sum(int x, int y) {
int s = x + y;
cout << "The sum of numbers : " << s;
}
int main() {
auto start = high_resolution_clock::now();
sum(28, 8);
auto stop = high_resolution_clock::now();
auto duration = duration_cast(stop - start);
cout << "\nTime taken by function : " << duration.count() << " microseconds";
return 0;
}
আউটপুট
The sum of numbers : 36 Time taken by function : 42 microseconds
উপরের প্রোগ্রামে, দুটি সংখ্যার যোগফল বের করার জন্য sum() ফাংশন ডিফাইন করা হয়েছে।
int sum(int x, int y) {
int s = x + y;
cout << "The sum of numbers : " << s;
}
main() ফাংশনে, sum() ফাংশনটির লেন টাইম কিছু প্রিডিফাইনড ফাংশন এবং "chrono" ক্লাস ব্যবহার করে রেকর্ড করা হয়েছে।
auto start = high_resolution_clock::now(); sum(28, 8); auto stop = high_resolution_clock::now(); auto duration = duration_cast(stop - start);