क्या कोई कैश जागरूक एल्गोरिदम के किसी भी सरल स्पष्टीकरण को पोस्ट कर सकता है? बहुत से लिंक उपलब्ध हैं लेकिन उन साइटों में पढ़ने की सामग्री प्रकृति में अकादमिक है और पढ़ने और समझने के लिए समय लेने वाली है।एक कैश जागरूक एल्गोरिदम का एक साधारण उदाहरण?
उत्तर
एक कैश-जागरूक एल्गोरिदम प्रोसेसर के ऑन-चिप मेमोरी कैश में और बाहर मेमोरी पृष्ठों के आंदोलन को कम करने के लिए डिज़ाइन किया गया है। विचार "कैश मिस" कहने से बचने के लिए है, जिससे प्रोसेसर को रुकने का कारण बनता है जबकि यह रैम से प्रोसेसर कैश में डेटा लोड करता है।
पेपर पर इष्टतम से कम कैश-जागरूक एल्गोरिदम एक परंपरागत एल्गोरिदम का प्रदर्शन कर सकता है जो सिद्धांत में "तेज़" है, क्योंकि कैश-जागरूक एल्गोरिदम स्मृति को अधिक कुशलतापूर्वक उपयोग करता है।
एक कैश-जागरूक एल्गोरिदम प्रोसेसर के कैश व्यवहार का लाभ उठाने के लिए स्पष्ट रूप से कोड किया गया है। प्रोसेसर के मेमोरी पेज आकार और "कैश लाइनों" के बारे में अंतरंग विवरण एल्गोरिदम में कोड किए गए हैं। इस प्रकार, एक कैश-जागरूक एल्गोरिदम अत्यधिक प्रोसेसर विशिष्ट होगा।
एक कैश-अनजान एल्गोरिदम को पारंपरिक एल्गोरिदम की तुलना में अधिक कैश-अनुकूल तरीके से स्मृति का उपयोग करने के लिए कोड किया गया है, लेकिन यह अंतर्निहित हार्डवेयर के बारे में अंतरंग विवरण पर निर्भर नहीं है।
मुझे लगता है कि कैश-जागरूक एल्गोरिदम के सबसे सरल उदाहरणों में से एक एक द्वि-आयामी सरणी पंक्ति-प्रमुख बनाम कॉलम-प्रमुख तक पहुंच रहा है। चूंकि एक द्वि-आयामी सरणी आमतौर पर स्मृति में संग्रहीत होती है जैसे सरणी की सभी पंक्तियों के एक संयोजन के रूप में, पंक्ति से पंक्ति तक पहुंचने से सही डेटा सही समय पर कैश में डालता है। हालांकि, कॉलम-प्रमुख क्रम में सरणी तक पहुंचने पर, स्मृति और कैश मिस में पूरी तरह से कूदने से बड़ी मंदी हो सकती है।
एक उदाहरण इस सी ++ कोड देने के लिए,:
for (int i = 0; i < MAX_N; ++i) {
for (int j = 0; j < MAX_N; ++j) {
a[i][j] = 10;
}
}
रन अगर मैं पहुँचा सेल के सूचकांकों स्वैप की तुलना में मेरी मशीन पर 3-4 गुना तेजी से (जो है, पहुँच a[j][i]
बजाय)।
आपका मतलब है 'ए [जे] [i] '? – BeniBela
मैं करता हूं, धन्यवाद। फिक्स्ड। –
- 1. एक साधारण निर्भरता एल्गोरिदम
- 2. एक साधारण ग्रेडियेंट वंश एल्गोरिदम
- 3. एक साधारण दुभाषिया का निर्माण
- 4. एक साधारण बंद बहुभुज वक्र उत्पादन एल्गोरिदम
- 5. एक साधारण उदाहरण के साथ टीडीडी सीखना
- 6. एमवीसी 3 DropDownListFor - एक साधारण उदाहरण?
- 7. एक ग्रहण-जागरूक चींटी कार्य
- 8. क्रॉस-साइट स्क्रिप्टिंग हमले का एक साधारण उदाहरण
- 9. बूस्ट :: एल्गोरिदम के लिए एक अच्छा उदाहरण ::
- 10. पायथन में एक साधारण अस्पष्ट स्ट्रिंग मिलान एल्गोरिदम क्या है?
- 11. साधारण वर्गीकरण पैकेज और एल्गोरिदम
- 12. एलएपीएक्स को समझना सी ++ में एक साधारण उदाहरण के साथ
- 13. डी 3.जेएस में एक साधारण स्कैटरप्लॉट उदाहरण?
- 14. php curl: मुझे एक साधारण पोस्ट अनुरोध और पृष्ठ उदाहरण
- 15. पायथन प्रॉक्सी .. एक साधारण एक!
- 16. एक साधारण दुभाषिया
- 17. एक साधारण व्याकरण का विश्लेषण कैसे करें?
- 18. एक साधारण एक्सएमएल
- 19. एक साधारण पार्सर
- 20. एक साधारण रीस्टफुल एपीआई
- 21. एक साधारण जावा स्पाइडर
- 22. एक रिकर्सिव एल्गोरिदम
- 23. एक साधारण निर्भरता इंजेक्शन ढांचे का नाम
- 24. एक साधारण दुभाषिया के साथ प्रयोग करने के लिए एक सरल कचरा संग्रह एल्गोरिदम क्या है?
- 25. एक साधारण मोडल पॉपअप बनाएं
- 26. एक साधारण सी XML पार्सर
- 27. फ्लीरी या हाइरहोल्जर एल्गोरिदम का कोड उदाहरण?
- 28. Asp.net एमवीसी: एक साधारण सीएमएस
- 29. एक साधारण जावा SOAP क्लाइंट
- 30. एक साधारण jQuery स्लाइडर बनाने
एचएम ने उदाहरणों के लिए नहीं पूछा ?! – ljs
सं। सवाल ने कहा, "सरल स्पष्टीकरण।" –
यहां एक खराब उदाहरण है: http://stackoverflow.com/a/11227902/845092, जहां उसके फ़ंक्शन को चलाने से पहले सॉर्टिंग डेटा इसे 6 गुना तेज बनाता है। –