मैंने सी ++ अनुकूलन कुकबुक पर पढ़ा है कि एसटीएल कंटेनर के लिए मानक आवंटक जैसे std :: list, std :: set, std :: multi_set, std :: map , ई std :: multi_map को अधिक प्रदर्शनकर्ता ब्लॉक आवंटक द्वारा प्रतिस्थापित किया जा सकता है।std :: नक्शा मानक आवंटन प्रदर्शन बनाम ब्लॉक आवंटक
एक ब्लॉक आवंटक में उच्च प्रदर्शन, कम विखंडन और कुशल डेटा कैशिंग है।
मुझे वेब पर FSBAllocator पाया गया है जो मानक से तेज़ होने का दावा करता है। http://warp.povusers.org/FSBAllocator/
मैं std :: नक्शे के साथ इसे करने की कोशिश की और पाया तेजी से वास्तव में हो रहा है है, लेकिन मेरे सवाल का कैसे हो सकता है एसटीएल कार्यान्वयन एक विशिष्ट संभाजक से तो धीमी हो है और एक अन्य संभाजक की खामियों क्या कर रहे हैं पोर्टेबिलिटी और मजबूती दोनों के मामले में, मानक से? मेरा कोड विभिन्न आर्किटेक्चर (Win32, osx, linux) पर संकलित होना चाहिए। क्या किसी को उस तरह के निश्चित आकार ब्लॉक आवंटक के साथ अनुभव था?
मुझे लगता है कि एसटीएल आवंटक अधिकांश मामलों के लिए यथासंभव सामान्य और कुशल है। मैं किसी अन्य प्रकार के आवंटक का उपयोग नहीं करता जब तक कि मेरे कोड के साथ कोई वास्तविक प्रदर्शन समस्या न हो। – Max
ब्लॉक आवंटक ऐसा लगता है जो मानक के रूप में छोटे ओवरहेड के साथ अनियंत्रित आकार आवंटित नहीं कर सकता है। –