मैं एक बहुप्रचारित प्लगइन पर काम कर रहा हूं। जब मैं स्मृति के बहुत बड़े ब्लॉक (> 10 एमबी) पर एक मुफ्त() करता हूं तो मेरी प्लगइन के साथ एप्लिकेशन अस्थायी रूप से बहुत धीमा हो जाता है। (यह एक ऑडियो ऐप है, ऑडियो थ्रेड बहुत कम समय मिलता है)। मुझे यकीन नहीं है कि क्या मुफ्त() बहुत सी CPU का उपयोग कर रहा है या यह अन्य धागे को बहुत लंबा रास्ता अवरुद्ध कर रहा है। ऐसा लगता है कि Madvice() के लिए एक कॉल बहुत काम कर रहा है। मुझे मुफ्त में उपयोग करने के लिए उपयोग किया जाता है() ज्यादा समय नहीं लेता है (यह तब नहीं होता जब मैं 32 बिट्स मोड में चलाता हूं)।मुफ्त() अन्य धागे को अवरुद्ध करना, सिस्टम मंदी
कुछ जानकारी: OSX 10.8 64 बिट्स प्लगइन & कार्यक्रम सी ++
जारी रखने के लिए कैसे पर कोई सुझाव बहुत स्वागत है।
शायद मुफ्त में बहुत अधिक समय लग रहा है क्योंकि यह डिबगिंग उद्देश्यों के लिए स्मृति को साफ़ करता है। मुक्त संस्करण प्राप्त करें जो ऐसा नहीं करता .. –
क्या आप प्रोग्राम को वाद्य यंत्र बना सकते हैं - ओएस एक्स पर यह उपकरणों का उपयोग करना वास्तव में आसान है। यह आपको बताएगा कि आपका कार्यक्रम वास्तव में अपना अधिकांश समय कहां खर्च कर रहा है। – parry
आपको किसी भी वास्तविक समय प्राथमिकता ऑडियो कॉलबैक थ्रेड पर स्मृति आवंटन या डेलोकेशन से बचना चाहिए। [तकनीकी क्यू एंड ए क्यूए 1467: कोरऑडियो ओवरलोड चेतावनी] में सिफारिशें देखें (https://developer.apple.com/library/mac/qa/qa1467/_index.html)। मॉलोक कार्यान्वयन थ्रेड-सुरक्षा के लिए ताले लेता है। –