मैं बूस्ट का उपयोग कर मिलीसेकंद परिशुद्धता के साथ समय प्राप्त करना चाहता हूं। (। सटीकता मिलीसेकंड, बस पास होने की जरूरत नहीं है)बढ़ावा है :: posix_time :: microsec_clock CPU गहन?
Local time with milliseconds, और दूसरों की चर्चा करते हुए यह संकेत दिया गया है कि माइक्रोसेकंड घड़ी इस्तेमाल किया जाना चाहिए:
boost::posix_time::microsec_clock::local_time();
मेरे अनुभव में, यह असंभव है मानक, कम प्रभाव वाली सिस्टम कॉल (यानी, ::GetTicks()
विंडोज़) के साथ माइक्रोसेकंड (कुछ समान सटीकता मानते हुए) की सटीकता के लिए समय प्राप्त करने के लिए। इसके बजाय, मिलीसेकंड (माइक्रोसेकंड में) से परे सटीकता को बेहतर बनाने के लिए सीपीयू-गहन कॉल जारी किए जाने की आवश्यकता है। परिशुद्धता millisecond के लिए सिर्फ कुछ हद तक करीब -
मैं उल्लेख किया है, मैं माइक्रोसेकंड परिशुद्धता जरूरत नहीं है। हालांकि, Boost.Date_Time किसी भी "millisec_clock" प्रदान नहीं करता है - यह एक second_clock
प्रदान करता है, और अगले उन्नयन microsec_clock
है, कोई "millisec_clock" के बीच में है।
यदि मैं microsec_clock
का उपयोग करता हूं, जैसा कि नोट किया गया है, मिलिस्सेकंड प्राप्त करने के लिए, क्या मुझे एक सीपीयू-गहन कॉल के साथ मारा जाएगा?