के प्रदर्शन का माप मैंने एक आम-लिस्प प्रोग्राम लिखा और यह धीमी गति से होने की आवश्यकता है। अब मैं अपने कोड का विश्लेषण करना चाहता हूं यह देखने के लिए कि मेरा समय कहां जा रहा है। क्या कोई उपकरण है जो लोग उपयोग करते हैं?एक सामान्य-लिस्प प्रोग्राम
उत्तर
यदि आप SLIME का उपयोग कर रहे हैं, तो कुछ profiling commands हैं जिनका उपयोग आप time
और कार्यान्वयन विशिष्ट टूल के अलावा कर सकते हैं।
परिणाम दिखाने के लिए M-x slime-toggle-profile-fdefinition
(अन) प्रोफ़ाइल विशिष्ट कार्यों, M-x slime-profile-report
का उपयोग करें, और M-x slime-profile-reset
रीसेट करने के लिए।
यदि आप SBCL का उपयोग कर रहे हैं, तो एक साफ सांख्यिकीय प्रोफाइलर उपलब्ध है - http://www.sbcl.org/manual/Statistical-Profiler.html।
सरल माप के लिए, आप time
का उपयोग कर सकते हैं, जो कि सभी सामान्य लिस्प कार्यान्वयन पर उपलब्ध है।
मुझे एसबी-स्पॉफ पैकेज पसंद है। यह सभी बुलाए गए कार्यों (सिस्टम फ़ंक्शन समेत) देता है, इसके साथ मेरी समस्या यह है कि मैं वास्तव में नहीं देख सकता कि उन कार्यों में से कुछ कहां कह रहे हैं। क्या सामान्य लिस्प में कोई लाइन-बाय-लाइन प्रोफाइलर कार्यान्वयन है, (कुछ पाइथन memmory प्रोफाइलर जैसे https://github.com/fabianp/memory_profiler) यहां एक नमूना पायथन कोड है और इसके memmory_profiler परिणाम https: //gist.github .com/3,235,444। इस के साथ मैं अनुक्रम प्रकार बदल सकता हूं और memmory परिणाम देख सकते हैं। यह बोल्टनेक्स को बाहर नहीं दिखाता है लेकिन यह टाइप संबंधित समस्याओं को खोजने के लिए बहुत अच्छा है। – yilmazhuseyin
इसके अलावा, यदि आप एसबीसीएल का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप एक फ़ाइल (या पूर्ण सिस्टम) संकलन करते हैं और संकलक नोट्स की पूरी तरह से पढ़ते हैं। वहां शायद कुछ दक्षता नोट्स हैं। – Vatine
@ यिलमाज़ुसेन एसबीसीएल में एक [निर्धारक प्रोफाइलर] भी है (http://www.sbcl.org/manual/Deterministic-Profiler.html#Deterministic-Profiler), लेकिन यह अभी भी कार्य उन्मुख है, रेखा उन्मुख नहीं है (इसका उपयोग नहीं किया है)। यह देखने के लिए कि कौन सा फ़ंक्शन कॉल करता है, आप फ़ंक्शन नाम पर एसएलआईएमई के 'सीसी सीडब्ल्यू सी' का उपयोग कर सकते हैं (एसएलआईएमईई में कई उपयोगी [क्रॉस रेफरेंस कमांड] हैं (http://common-lisp.net/project/slime/doc/html/ Cross_002dreference.html))। –
- 1. एक प्रोग्राम जो एक और प्रोग्राम बनाता है
- 2. एक सी प्रोग्राम का एक अन्य सी प्रोग्राम
- 3. एक .sas प्रोग्राम
- 4. एक सी प्रोग्राम
- 5. एक सी प्रोग्राम
- 6. एक Winform प्रोग्राम
- 7. एक हास्केल प्रोग्राम प्रोफाइलिंग
- 8. एक गो प्रोग्राम
- 9. एक थ्रेडेड जावा प्रोग्राम
- 10. मैं एक सी ++ प्रोग्राम
- 11. एक .NET प्रोग्राम
- 12. एक UIPopOver देखें प्रोग्राम
- 13. एक पर्ल प्रोग्राम
- 14. एक पायथन प्रोग्राम
- 15. एक .NET प्रोग्राम
- 16. एक सी ++ प्रोग्राम
- 17. मैं प्रोग्राम को एक प्रोग्राम को कैसे हटा सकता हूं?
- 18. एक प्रोग्राम से दूसरे प्रोग्राम में सिग्नल कैसे भेजना है?
- 19. एक प्रोग्राम बनाना जो विंडोज
- 20. कैसे एक Android ListView प्रोग्राम
- 21. आउटपुट रीडायरेक्शन एक निश्चित प्रोग्राम
- 22. एक चल रहे पायथन प्रोग्राम
- 23. एक निष्पादन योग्य सी प्रोग्राम
- 24. प्रोग्राम एक ड्रॉप-डाउन मेनू
- 25. ओपनएसएसएल पुस्तकालयों को एक प्रोग्राम
- 26. एक इंटरफेस में प्रोग्राम php
- 27. एक संपर्क सूची प्रोग्राम बनाना
- 28. प्रोग्राम में एक प्रविष्टि बिंदु
- 29. एक प्रोग्राम में quicklisp लोडिंग
- 30. प्रोग्राम के एक Gwt CellTree
यह उपयोग करना वास्तव में आसान है। धन्यवाद। – yilmazhuseyin