जेमलोक (या कोई अन्य malloc
कार्यान्वयन) के साथ सी ++ एसटीएल कंटेनरों का उपयोग करना संभव है?सी ++ एसटीएल जेमलोक
क्या यह jemalloc/jemalloc.h
शामिल है जितना आसान है? या मुझे उनके लिए आवंटन लिखना चाहिए?
संपादित करें: मैं आवंटन पर काम कर रहा हूं और अपने जीवनकाल में अपेक्षाकृत छोटी वस्तुओं को मुक्त करता हूं। मैं डिफ़ॉल्ट आवंटक को प्रतिस्थापित करना चाहता हूं, क्योंकि बेंचमार्क से पता चला है कि एप्लिकेशन 2 कोर से अधिक नहीं है। प्रोफाइलिंग ने दिखाया कि यह स्मृति आवंटन की प्रतीक्षा कर रहा था, यही वजह है कि स्केलिंग के मुद्दों का कारण बन गया। जैसा कि मैं समझता हूं, jemalloc
उसमें सहायता करेगा।
मैं एक समाधान देखना चाहते हैं, कि मंच के तटस्थ के रूप में आवेदन दोनों लिनक्स और विंडोज पर काम करने की है। (लिनक्स के तहत एक अलग कार्यान्वयन के खिलाफ लिंक करना आसान है, लेकिन जहां तक मुझे पता है विंडोज़ पर यह बहुत मुश्किल है।)
से नकल कर रहा है मैं अपने का जवाब देने के लिए मेरे सवाल का अद्यतन किया गया। 'new' को बदलने के साथ किस तरह के मुद्दे हैं? – KovBal
यदि आप सामान्य सी ++ शेनानिगन्स के साथ 'नया' को प्रतिस्थापित करने की कोशिश कर रहे हैं, तो आप इसे प्राप्त कर सकते हैं। ऐसा तब होता है जब लोग पूरे कार्यक्रम में 'मॉलोक' को प्रतिस्थापित करने का प्रयास करते हैं जो वास्तव में बालों वाली हो जाती है। –
यह वही है जो मैं करना चाहता हूं: पूरे कार्यक्रम में 'malloc' को प्रतिस्थापित करें। लेकिन मैं अपना खुद का कार्यान्वयन लिखना नहीं चाहता; मैं बस एक और (अच्छी तरह से परीक्षण) एक का उपयोग करना चाहता हूँ। – KovBal