में चलने का समय ओकंप में मेरे कोड को कितना समय निकाला गया है इसका आकलन कैसे करें? क्या मापने के लिए कोई कार्य हैं?ओकैम
Q
ओकैम
8
A
उत्तर
15
आप व्यक्तिगत कार्यों के निष्पादन के समय को मापने के लिए चाहते हैं, तो इस उपयोगिता समारोह कई मामलों में उपयोगी है:
let time f x =
let t = Sys.time() in
let fx = f x in
Printf.printf "Execution time: %fs\n" (Sys.time() -. t);
fx
जहां f
किसी भी समारोह जो तर्क के रूप में x
लेता है और कुछ देता है
4
आप Sys.time() का उपयोग कर सकते हैं। यह प्रोसेसर समय, सेकेंड में, निष्पादन की शुरुआत के बाद से प्रोग्राम द्वारा उपयोग किया जाता है।
स्रोत: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Sys.html
11
अपने कोडिंग में, मैं Unix.gettimeofday()
का उपयोग करता हूं, जो एक सेकंड से भी कम समय के संकल्प के साथ एक फ्लोट वैल्यू देता है। यह documentation for the OCaml Unix module में वर्णित है। मॉड्यूल के नाम के बावजूद, यह फ़ंक्शन विंडोज़ में भी काम करता है (और शायद लगभग सभी वातावरणों में आपको सामना करना पड़ सकता है)।()
let time f x =
let start = Unix.gettimeofday()
in let res = f x
in let stop = Unix.gettimeofday()
in let() = Printf.printf "Execution time: %fs\n%!" (stop -. start)
in
res
संबंधित मुद्दे
- 1. ओकैम
- 2. ओकैम
- 3. ओकैम
- 4. ओकैम
- 5. ओकैम
- 6. ओकैम
- 7. ओकैम
- 8. ओकैम
- 9. ओकैम
- 10. ओकैम Printf.sprintf
- 11. ओकैम - फ़ाइलें और पार्सिंग
- 12. ओकैम - Emacs tuareg मोड
- 13. ओकैम के नामित पैरामीटर
- 14. ओकैम हैशटेबल्स में समानता
- 15. ओकैम बूलियन अभिव्यक्ति [[]] == [[]]
- 16. ओकैम और एफ #
- 17. ओकैम में बिल्ली लिखना: यूनिक्स.read
- 18. ओकैम के साथ अप्रत्याशित परिणाम! =
- 19. एफ # बनाम ओकैम: स्टैक ओवरफ़्लो
- 20. सी में ओकैम एम्बेड करना: लिंकिंग त्रुटि
- 21. कार्यात्मक प्रोग्रामिंग (ओकैम) में हस्ताक्षर/प्रकार
- 22. एकाधिक ओकैम फाइलों को संकलित करना
- 23. लिंक ओकैम मॉड्यूल में एकाधिक "मुख्य"
- 24. ओकैम से एफ # में कनवर्ट करना: क्या विजुअल स्टूडियो
- 25. ओकैम डेटाटाइप को एक्सएमएल और दूसरी तरफ कैसे परिवर्तित करें?
- 26. यह ओकैम प्रोग्राम मेरे सी प्रोग्राम से तेज़ क्यों है?
- 27. ओकैम से एफ # में कनवर्ट करना: क्या एफ #
- 28. ओकैम/एफ # में फ़ंक्शन डिफ़ॉल्ट रूप से क्यों नहीं हैं?
- 29. ओकैम में साझा उपयोगिता मॉड्यूल कहां रखा जाए?
- 30. ओकैम सूची: कार्यान्वयन और नक्शा कार्यों को कार्यान्वित करें
Sys.time गलत चल दे रहा है:
अगर मैं पैड के जवाब पुनर्लेखन मैं निम्नलिखित कोड मिलता है। इसने एक छोटे से कार्यक्रम के लिए 341.1 एस दिया। जब मैंने यूनिक्स टाइम कमांड का इस्तेमाल किया, तो उसने केवल 0.001 एस दिया। – priyanka
मैंने कभी इस तरह की विफलता नहीं देखी है। क्या आप दिखा सकते हैं कि आपका कोड कैसा दिखता है? (हो सकता है कि इसे अपने प्रश्न के अंत में जोड़ें।) –
एक टोपवेल में कॉलिंग Sys.time() को कॉल करने से टोपेलवेल थ्रेड ने कोड चलाने में कितना समय बिताया है। – ben