के लिए अनुकूलन उपकरण मैं विंडोज और लिनक्स सिस्टम के लिए कौन से टूल्स का उपयोग संरेखण के मुद्दों, कैश मिस और विजुअल सी ++ और जीसीसी द्वारा उत्पन्न कोड से संबंधित अन्य पैरामीटर निर्धारित करने के लिए कर सकता हूं? क्या मैं संरचनाओं के संरेखण को निर्धारित करने के लिए इन उपकरणों का उपयोग कर सकता हूं ताकि मैं कंपाइलर से उत्पन्न पैडिंग से बच सकूं?सी और सी ++
उत्तर
निर्धारित करने के लिए कैश याद करते हैं आप oprofile
या vtune
, या एक गतिशील उपकरण उपकरण, cachegrind
साथ valgrind
की तरह की तरह एक सीपीयू स्तरीय प्रोफाइलर, चाहता हूँ।
संरचनाओं पर संरेखण के मुद्दों की तलाश करने के लिए, DWARF
डीबगिंग जानकारी वाले ऑब्जेक्ट फ़ाइलों के लिए pahole
नामक एक उपकरण है।
आपके उत्तर के लिए धन्यवाद। क्या पैहोल के समान खिड़कियों के लिए कोई उपकरण है? बीटीडब्लू, क्या आप vtune/kcachegrind में कैश पैरामीटर को सक्षम करने के लिए ट्यूटोरियल को विस्तृत या पॉइंट कर सकते हैं? – Kartlee
आप डेटा संरचनाओं में गद्दी से बचने के लिए आप अपने संरचना एक #pragma(pop)
अपने संरचना की घोषणा के बाद की घोषणा से पहले जीसीसी के लिए या माइक्रोसॉफ्ट विजुअल स्टूडियो #pragma(pack(push,1))
के लिए __attribute__((__packed__))
का उपयोग कर सकता है चाहते हैं। आप एक बाइट http://msdn.microsoft.com/en-us/library/xh3e3fd0(v=vs.80).aspx पर पैकिंग के लिए या 1 बाइट सीमाओं पर पैकिंग के लिए gcc -falign-function = 8 के साथ पैकिंग के लिए माइक्रोसॉफ्ट विजुअल स्टूडियो कंपाइलर/जेपी 1 को कमांड लाइन विकल्प भी दे सकते हैं। आपका कोड बेस छोटा होगा हालांकि यह आपके प्रदर्शन पर गंभीर नकारात्मक प्रभाव डाल सकता है ...
- 1. सी ++ संदर्भ और सी/सी ++
- 2. प्रबंधित सी ++ सी # और सी ++
- 3. सी और सी ++
- 4. सी और सी ++
- 5. प्रबंधित सी ++ और सी ++
- 6. सी और सी ++
- 7. सी और सी ++
- 8. सी ++ और सी #
- 9. सी # और सी ++
- 10. सी और सी ++
- 11. सी और सी ++
- 12. सी और सी ++
- 13. मिश्रित सी और सी ++
- 14. सी # और विजुअल सी #?
- 15. सी और सी ++
- 16. सी/सी ++ और लिबरसेरियल
- 17. सी और सी ++
- 18. डीएलओपेन और सी/सी ++
- 19. सी ++ और सी #
- 20. सी और सी ++
- 21. सी ++, सी # और रूबी
- 22. सी और सी ++
- 23. सी और सी ++
- 24. सी और सी ++
- 25. संयोजन सी ++ और सी #
- 26. क्यों सी और सी ++
- 27. उद्देश्य सी और सी ++
- 28. सी ++ और सी # गति
- 29. सी और सी ++ कोड
- 30. मिक्सिंग सी और उद्देश्य-सी
संरेखण के मुद्दों को खत्म करने के लिए स्वचालित पैडिंग है ... –
स्टैक ओवरफ़्लो पर आपके प्रश्नों को प्रश्न के रूप में phrased किया जाना चाहिए, कमांड के रूप में नहीं, या आप बहुत से संभावित उत्तरदाताओं को छोड़ देंगे। मैंने इसे प्रतिबिंबित करने के लिए अपनी पोस्ट संपादित की है। –