क्षमा करें, टिप्पणी के रूप में इसे जोड़ने के लिए कोई प्रतिष्ठा नहीं है। तो यह एक पूरक उत्तर के रूप में जाता है।
आप कितनी बार कॉल करेंगे clock_gettime(), इसके आधार पर , आपको यह ध्यान रखना चाहिए कि VDSO में केवल कुछ "घड़ियाँ" लिनक्स द्वारा प्रदान की जाती हैं (अर्थात एक के सभी ओवरहेड के साथ एक syscall की आवश्यकता नहीं है - जो केवल तब ही खराब हो जाती है जब लिनक्स जोड़ा जाता है स्पेक्टर जैसे हमलों से बचाने के लिए बचाव)।
हालांकि clock_gettime(CLOCK_MONOTONIC,...), clock_gettime(CLOCK_REALTIME,...)और gettimeofday()हमेशा (VDSO द्वारा त्वरित) बहुत तेज होने जा रहे हैं, यह CLOCK_MONOTONIC_RAW या किसी अन्य POSIX घड़ियों के लिए सही नहीं है।
यह कर्नेल संस्करण और आर्किटेक्चर के साथ बदल सकता है।
यद्यपि अधिकांश कार्यक्रमों को इस पर ध्यान देने की आवश्यकता नहीं है, VDSO द्वारा त्वरित घड़ियों में विलंबता स्पाइक्स हो सकते हैं: यदि आप उन्हें सही हिट करते हैं जब कर्नेल घड़ी काउंटरों के साथ साझा मेमोरी क्षेत्र को अपडेट कर रहा है, तो इसके लिए इंतजार करना होगा खत्म करने के लिए कर्नेल।
यहां "प्रमाण" (GitHub, बॉट्स को kern.org से दूर रखने के लिए):
https://github.com/torvalds/linux/commit/2aae950b21e4bc789d1fc6668baf67e8748300b7