जो गलती अक्सर होती है वह अपने स्वयं के आवंटनकर्ताओं को लिखने के लिए होती है ताकि आप प्रत्येक सिस्टम द्वारा कितनी मेमोरी का उपयोग कर सकें और जो चल रहा है उस पर अधिक दृश्यता हो। इसे प्राप्त करने का एक बेहतर तरीका मेमोरी प्रोफाइलर का उपयोग करना है। वहाँ बहुत सारे मेमोरी प्रोफाइलर हैं, मेरे प्रोफाइलर मेमप्रो एक उदाहरण हैं। यह सभी मेमोरी उपयोग का ट्रैक रखने के लिए एक पूरी तरह से गैर-आक्रामक तरीका है, और आप कॉलस्टैक वाइल्डकार्ड फिल्टर का उपयोग करके इसे स्वचालित रूप से उप प्रणालियों में तोड़ सकते हैं। आदर्श रूप से अपनी मेमोरी आवंटन और मेमोरी ट्रैकिंग को पूरी तरह से अलग रखने के लिए यह सबसे अच्छा है, उनकी पूरी तरह से अलग आवश्यकताएं हैं।
अपनी स्मृति को पूल में विभाजित करना अक्सर हानिकारक हो सकता है क्योंकि प्रत्येक पूल में एक ओवरहेड होगा। आप वास्तव में इसे साकार किए बिना ज़रूरत से ज़्यादा मेमोरी का उपयोग करके समाप्त कर सकते हैं। अपव्यय को कम करने के लिए हमेशा सब कुछ एक साथ करना बेहतर होता है, फिर सुस्त को पूरे सिस्टम द्वारा साझा किया जाता है।
कस्टम आवंटनकर्ताओं का उपयोग करने का एकमात्र कारण CPU प्रदर्शन (मुख्य रूप से कैश सुसंगतता के लिए) और विखंडन को सीमित करना है। इसका एक आदर्श उदाहरण एक कण प्रणाली है। आप स्मृति में सभी कणों को सन्निहित चाहते हैं और आप बहुत सारे अल्पकालिक आवंटन के साथ मुख्य मेमोरी को काली मिर्च नहीं देना चाहते हैं। विभाजन के लिए एक और अच्छा उदाहरण एक पटकथा भाषा है।
यदि आप एक सामान्य उद्देश्य के लिए चाहते हैं, तो आप अपने VMem आवंटनकर्ता पर एक नज़र डाल सकते हैं । इसका उपयोग कई शिप किए गए AAA गेम्स में किया गया है। इसमें ऐसी तकनीकें हैं जो विखंडन को सीमित करती हैं और मेमोरी फ़ुटप्रिंट को कम रखती हैं, कंसोल गेम के लिए कुछ महत्वपूर्ण है। यह भी उच्च धागा विवाद के तहत बहुत तेज है। मेरी वेबसाइट का इन तकनीकों पर व्यापक प्रलेखन है।