बाद में सबसे हाल ही में इनपुट के आधार पर एक LRU कैश बनाए रखने क्योंकि लोगों को अधिक खोजों
कि एक उचित डिजाइन विकल्प हो सकता है दोहराने की संभावना है, लेकिन साक्षात्कार में मैं वाक्यांश अधिक के रूप में है कि चाहते साक्षात्कारकर्ता से एक प्रश्न: "क्या यह मानना उचित होगा कि कॉल हाल के मूल्यों के साथ और अधिक होने की तरह होंगे, या क्या कोई अन्य अपेक्षित समूह है (बड़ी संख्या में अक्सर छोटे या इसके विपरीत अनुरोध किया जाएगा)?"
उदाहरण के लिए, एलआरयू को कैश करने का अर्थ हो सकता है, लेकिन 10, 20, 30, 40 इत्यादि के लिए मूल्यों को कभी भी फेंकना नहीं है। इस तरह कैश को उन मानों के साथ भरने के बाद एक फैक्टरियल की गणना करने का सबसे बुरा मामला है 10 गुणा प्रदर्शन करना है।
एक अन्य विचार आप कर सकता है कि कंप्यूटर बहुत आसानी से कुछ factorials के साथ सौदा कर सकते हैं:
- 12! 32-बिट शब्द में सबसे बड़ा है।
- 20! 64-बिट शब्द में सबसे बड़ा है।
- 34! 128-बिट शब्द में सबसे बड़ा है जिसे रखा जा सकता है।
चूंकि आज की मशीनें 64-बिट अंकगणित (शायद 128 बिट अंकगणितीय) से आसानी से निपट सकती हैं, तो यह भी समझ सकता है कि 20 के लिए कोई मूल्य कैश नहीं किया जा सकता है! या एक बार कैश उस से अधिक मूल्यों के साथ भर जाता है।
कैश मिस पर लुकअप के लिए सबसे खराब मामला इस बात पर निर्भर करेगा कि आप कैश को कैसे स्टोर करते हैं। क्या यह एक सरणी है जो फ़ंक्शन के तर्क द्वारा क्रमबद्ध है? (लुकअप ओ है (लॉग एन)) क्या यह एलआरयू ऑर्डर में एक सरणी है?(कैश मिस पर देखो ओ (एन) है)। मुझे लगता है कि आप यह भी स्पष्ट करना चाहते हैं कि आप कैश लुकअप को हमेशा कैश में उच्चतम मान वापस करना चाहते हैं जो कि आप जो खोज रहे हैं उससे कम है - वह कैश मान उस काम का प्रतिनिधित्व करता है जिसे आपको करने की ज़रूरत नहीं है इस विशेष फैक्टरियल गणना के लिए।
स्रोत
2011-08-28 15:50:57
क्या कैश नीति निर्धारित करने के लिए पर्याप्त जानकारी उपलब्ध है? एलआरयू एक सुरक्षित-ईश शर्त होगी, लेकिन यह उपयोग पर निर्भर करेगा। I.e - क्या होगा यदि उपयोग हर बार 1-100 के माध्यम से गणना करना है। उस स्थिति में, आप दस सबसे महंगी गणना करने के लिए कैश कर सकते हैं? – Smudge202