मैंने एक खोज कैशिंग परिणामों को लागू किया जिसमें प्रकार की कुंजी (7 शॉर्ट्स वाली कक्षा) और सोर्स (3 युगल का वर्ग) के मूल्य शामिल हैं। Unordered_map का उपयोग मानचित्र से कम से कम 20 गुना धीमा था। क्यूं कर?नक्शा unordered_map से बहुत तेज़ क्यों होगा?
संपादित करें: इसे हटाएं! मेरे हैश फंक्शन
namespace std {
size_t hash<State>::operator()(State const& s) const {
size_t retval = hash<short>()(s.s[0]);
for (int i = 1; i < R; i += 2) { // 1 3 5
int x = (static_cast<int>(s.s[i + 1]) << 16)
+ (static_cast<int>(s.s[i]));
hash_combine(retval, x);
}
}
}
मैं return retval
करना भूल गया था, तो यह सब टकराने था! मेरी इच्छा है कि unordered_map में hash_function_quality() फ़ंक्शन था जो टकराव की औसत संख्या की रिपोर्ट करता है।
आपका एक्सेस पैटर्न क्या है? –
क्या मंच/कंपाइलर? – ThomasMcLeod
इंटेल i5, gcc, 600 हजार आवेषण और लुकअप –