2010-08-07 19 views
27

मैं अपने कोड के प्रदर्शन को समझने की कोशिश कर रहा हूं, लेकिन मुझे time कमांड के आउटपुट को समझ में नहीं आता है, क्या कोई भी कृपया बता सकता है कि टाइम कमांड आउटपुट का क्या अर्थ है।टाइम कमांड के आउटपुट को कैसे समझें?

time ./filereader 

real 0m0.193s 
user 0m0.012s 
sys 0m0.056s 

क्या है real, user, sys:

निम्नलिखित मैं क्या मिलता है?

+0

व्यापक उत्तर के लिए डुप्लिकेट प्रश्न देखें: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

उत्तर

32

से: http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html

रियल वास्तविक लगे समय को संदर्भित करता है, उपयोगकर्ता और Sys केवल प्रक्रिया द्वारा प्रयुक्त CPU समय का संदर्भ लें।

  • वास्तविक दीवार घड़ी का समय है - कॉल से शुरू होने के समय से समय। यह समयावधि का समय समस्त समय 0 स्लाइस अन्य प्रक्रियाओं द्वारा उपयोग किया जाता है और प्रक्रिया अवरुद्ध हो जाती है (उदाहरण के लिए यदि यह I/O को पूरा करने का इंतजार कर रहा है)।
  • उपयोगकर्ता प्रक्रिया-मोड में उपयोगकर्ता-मोड कोड ( कर्नेल के बाहर) में खर्च किए गए CPU समय की मात्रा है। यह केवल वास्तविक CPU समय प्रक्रिया को निष्पादित करने में उपयोग किया जाता है। अन्य प्रक्रियाओं और समय प्रक्रिया अवरुद्ध हो जाती है इस आकृति की ओर गिनती नहीं है।
  • Sys प्रक्रिया के भीतर कर्नेल में बिताए गए CPU समय की मात्रा है। यह का अर्थ है सिस्टम में कर्नेल के भीतर कॉल करने के लिए लाइब्रेरी कोड के विपरीत, जो अभी भी उपयोगकर्ता-स्थान में चल रहा है। 'उपयोगकर्ता' की तरह, यह केवल CPU समय प्रक्रिया द्वारा उपयोग किया जाता है।
10

'असली' घड़ी की घड़ी की मात्रा है। यदि आप इसे स्टॉपवॉच के साथ समय पर लेना चाहते थे, तो यही वह है जो आपको मिलेगा।

'उपयोगकर्ता' CPU समय की मात्रा है जो प्रक्रिया स्वयं ही उपयोग की जाती है।

'sys' सीपीयू समय की मात्रा है जो कर्नेल प्रक्रिया की तरफ से खर्च करता है।

+2

'असली' है कम से कम मेरे अवलोकन से, स्टॉप घड़ी की मात्रा बताती है। उदाहरण के लिए, कल रात मैंने एक प्रक्रिया शुरू की, और आज सुबह यह वास्तविक 2376m6.172s' रिपोर्ट करता है। हकीकत में, बारह घंटे से भी कम समय बीत चुका है। – feklee

0

यदि आप सी/सी ++ के साथ विकास कर रहे हैं तो आपको अपने कोड को प्रोफाइल करने के लिए gprof का उपयोग करना चाहिए, http://www.cs.duke.edu/~ola/courses/programming/gprof.html देखें।

संबंधित मुद्दे