मैं एसक्लाइट और बर्कले डीबी के मुकाबले तुलना करने के लिए एक कस्टम निरंतर कुंजी मूल्य प्रकार डेटा संरचना विकसित करने के बीच में हूं। वैसे भी मैंने कार्यान्वयन लिखा था, मैं इस प्रयोजनों के लिए उपयोग करने के लिए सर्वोत्तम डेटा संरचना खोजना चाहता था। मैंने एक जोड़े को देखा:.net शब्दकोश अन्य प्रबंधित कस्टम डेटा संरचनाओं बनाम, .NET शब्दकोश इतनी तेज़ क्यों है?
- एक ओपन सोर्स रेडब्लैक पेड़।
- मोनो शब्दकोश कार्यान्वयन।
मैं चाहता था कि मैंने डेटाटाइक्चर को .NET डिक्शनरी से तुलनात्मक प्रदर्शन संख्याओं के लिए चुना है।
मैं आवेषण के लिए 500k पुनरावृत्तियों के साथ पाश के लिए एक साधारण परीक्षण का इस्तेमाल किया और आवेषण और कुंजी नज़र अप को मापने के लिए स्टॉपवॉच का प्रयोग किया:
मैं देखा कि
- बर्कली डीबी कुंजी देखने बार एक ही के बारे में था शब्दकोश के रूप में।
- मैंने सी 5 शब्दकोष, एक रेडब्लैक पेड़ कार्यान्वयन और यहां तक कि मोनो के शब्दकोश कार्यान्वयन के लिए लूप परीक्षण के लिए मेरी कोशिश की।
समय सम्मिलित करें: .NET शब्दकोश से 7% धीमी है।
लुकअप समय: .net शब्दकोश से 1000% धीमी है। यह स्क्लेइट के साथ देखो गति से भी धीमी है !! मैंने संकलक अनुकूलन के साथ परीक्षण करने का प्रयास किया और अभी भी इसी तरह के परिणाम मिल गए।
मुझे एहसास है कि मैं हैशटेबल्स बनाम पेड़ इत्यादि की तुलना कर रहा हूं, लेकिन मैं सभी डेटा संरचनाओं के बीच प्रदर्शन विसंगति के रूप में फंस गया।
किसी किसी भी विचार
मैंने जेआईटी प्रभावों के बारे में नहीं सोचा अच्छा बिंदु –
यही था, यह जेआईटी था! कुछ ऐसा जो मैंने नहीं सोचा था। मैंने परीक्षण को कई पुनरावृत्तियों को निष्पादित किया और मोनो शब्दकोश का प्रदर्शन अपेक्षाकृत .NET शब्दकोश के समान था। धन्यवाद। Gratuitous HGTG संदर्भ के लिए –