बनाने की प्रेरणा
- Go cache libraries में वास्तव में contention-free विकल्प नहीं है। ज़्यादातर बस mutex और eviction policy वाले map भर हैं
- इसलिए उनकी गति दूसरी भाषाओं के caches (जैसे Caffeine) तक नहीं पहुँचती
- Dgraph labs का सबसे तेज़ cache Ristretto प्रतिस्पर्धियों से अधिकतम 30% तेज़ था (Otter इससे कहीं तेज़ है), लेकिन उसका hit ratio अच्छा नहीं था
- वास्तविक applications में आप cache library की performance bottleneck से नहीं टकराना चाहते, इसलिए यह समस्या बन सकती है
- इसी कारण सबसे तेज़ और उपयोग में सबसे आसान cache बनाना लक्ष्य था
मुख्य विशेषताएँ
- सरल API: Builder में मनचाहे parameters सेट करें और इस्तेमाल शुरू करें
- स्वत: configuration: application की parallel processing क्षमता के आधार पर अपने-आप configure होता है
- Generics: key के रूप में किसी भी comparable type को सुरक्षित रूप से इस्तेमाल किया जा सकता है, और value के रूप में किसी भी type का उपयोग किया जा सकता है
- TTL: expired values अपने-आप cache से हटा दिए जाते हैं
- cost-based eviction: हर item की cost के आधार पर eviction को support करता है
- बेहतरीन throughput: यह इस समय प्रतिस्पर्धी products (Theine, Ristretto, Bigcache, Fastcache) से काफ़ी आगे सबसे तेज़ cache library है
- शानदार hit ratio: बेहतर परिणाम दिखाने वाला नया S3-FIFO algorithm इस्तेमाल किया गया है
1 टिप्पणियां
नाम कुछ जाना-पहचाना लगा तो खोजा, पता चला ऐसा भी एक था
Otter: कॉन्टेक्स्ट के भीतर कमांड ट्यूनिंग करने में सक्षम मल्टीमॉडल मॉडल
अब शायद जानवरों के नाम पर कुछ बनाना बंद कर देना चाहिए। बहुत ही दुर्लभ न हो तो ज़्यादातर नाम पहले से मौजूद हैं।
AI विश्लेषण की राय भी अच्छी लगी, इसलिए जोड़ रहा हूँ।
GN⁺ की राय