N3376 থেকে:
20.11.7.1 [টাইমক্লক.সিসটেম] / ১:
শ্রেণীর অবজেক্টগুলি system_clock
সিস্টেম-প্রশস্ত রিয়েলটাইম ঘড়ি থেকে প্রাচীর ঘড়ির সময়কে উপস্থাপন করে।
20.11.7.2 [টাইমক্লক.স্টেডি] / ১:
শ্রেণীর অবজেক্টগুলি এমন steady_clock
ঘড়িগুলি উপস্থাপন করে যার জন্য time_point
শারীরিক সময়ের অগ্রগতি হিসাবে কখনই মানগুলি হ্রাস পায় না এবং যার time_point
জন্য বাস্তব সময়ের তুলনায় স্থির হারে অগ্রিমের মানগুলি । অর্থাৎ, ঘড়িটি সামঞ্জস্য করা হতে পারে না।
20.11.7.3 [টাইমক্লক.হায়ার্স] / ১:
ক্লাসের অবজেক্টগুলি high_resolution_clock
সংক্ষিপ্ত টিক পিরিয়ড সহ ঘড়িগুলি উপস্থাপন করে। বা এর high_resolution_clock
প্রতিশব্দ হতে পারে ।system_clock
steady_clock
উদাহরণস্বরূপ, সিস্টেম ওয়াইড ক্লকটি দিবালোকের সঞ্চয় সময় যেমন কিছু সময় দ্বারা প্রভাবিত হতে পারে, ঠিক সেই সময়ে ভবিষ্যতে কোনও সময়ে তালিকাভুক্ত প্রকৃত সময়টি আসলে অতীতের একটি সময় হতে পারে। (মার্কিন যুক্তরাষ্ট্রে, শরত্কালে সময়টি এক ঘন্টা পিছনে সরে যায়, সুতরাং একই ঘন্টাটি "দুইবার" অভিজ্ঞ হয়) তবে, steady_clock
এই জাতীয় জিনিসগুলির দ্বারা প্রভাবিত হওয়ার অনুমতি নেই।
এই ক্ষেত্রে "অবিচলিত" সম্পর্কে চিন্তা করার আর একটি উপায় হ'ল 20.11.3 এর সারণীতে বর্ণিত প্রয়োজনীয়তাগুলি [টাইমলক্লোক.রেক] / ২:
সারণি 59-এ C1
এবং C2
ঘড়ির ধরণগুলি বোঝান। t1
এবং কলগুলি ফিরে আসার আগে কল রিটার্নিং ঘটে এবং এই উভয় কলের আগেই উপস্থিত হওয়া t2
মানগুলি । [দ্রষ্টব্য: এর অর্থ এবং এর মধ্যে প্রায় মোড়ানো হয়নিC1::now()
t1
t2
C1::time_point::max()
C1
t1
t2
। অন্তর্ভুক্ত নোট]
এক্সপ্রেশন: C1::is_steady
রিটার্নস: const bool
অপারেশনাল শব্দার্থক: true
যদি t1 <= t2
সর্বদা সত্য হয় এবং ঘড়ির টিকের মাঝে সময় স্থির থাকে অন্যথায় false
।
এই সমস্ত মান তাদের পার্থক্য উপর আছে।
আপনি যদি বেঞ্চমার্কিং করতে চান তবে আপনার সেরা বাজি সম্ভবত হতে চলেছে std::high_resolution_clock
, কারণ সম্ভবত আপনার প্ল্যাটফর্মটি QueryPerformanceCounter
এই ঘড়ির জন্য একটি উচ্চ রেজোলিউশন টাইমার (যেমন উইন্ডোজে) ব্যবহার করে। তবে, যদি আপনি বেঞ্চমার্কিং করেন তবে আপনার বেঞ্চমার্কের জন্য আপনার প্ল্যাটফর্মের নির্দিষ্ট টাইমারগুলি ব্যবহার করার বিষয়টি সত্যই বিবেচনা করা উচিত, কারণ বিভিন্ন প্ল্যাটফর্মগুলি এটিকে ভিন্নভাবে পরিচালনা করে। উদাহরণস্বরূপ, কিছু প্ল্যাটফর্ম আপনাকে প্রয়োজনীয় প্রোগ্রামটি ক্লক টিকের প্রকৃত সংখ্যা নির্ধারণের কিছু উপায় দিতে পারে (একই সিপিইউতে চলমান অন্যান্য প্রক্রিয়াগুলির চেয়ে পৃথক)। আরও ভাল, একজন প্রকৃত প্রোফাইলারের হাত পেতে এবং এটি ব্যবহার করুন।