2015-06-17 5 views
7

के लिए स्विफ्ट ब्रिजिंग प्रदर्शन मौजूदा उद्देश्यों-सी कोडेबेस में तेजी से जोड़ने के अनुभव वाले डेवलपर्स के लिए एक प्रदर्शन प्रश्न।उद्देश्य-सी - मौजूदा कोडबेस

मेरे आधार यह है: अंत में Bridging-Header.h वास्तव में बड़ी हो सकता है (यह सब 1.5k विद्यमान ऑब्जेक्टिव-सी कक्षाओं युक्त खत्म हो सकता है (दे या कक्षाएं उन है कि स्विफ्ट से पहुँचा जा नहीं होगा) लेने के लिए) PRODUCT-Swift.h उत्पन्न के लिए और इसके विपरीत हैडर।

मुझे डर संकलन प्रदर्शन नाटकीय रूप से कम हो सकती है: हर बार शामिल .h वर्गों के किसी भी बदल गया है यह सब .swift फ़ाइलें पुन: संयोजित करना होगा।

क्या यह मामला है? यदि हां, तो प्रदर्शन को अनुकूलित करने का कोई तरीका है?

स्पष्टीकरण: कल्पना कीजिए कि आप .pch फ़ाइल में अपने पूरी परियोजना कक्षाएं शामिल है, अब हर वर्ग परिवर्तन पूरी परियोजना के रखता ट्रिगर किया जाएगा। क्या यह Bridging-Header.h काम करता है?

उत्तर

1

यदि आप हेडर फ़ाइलों में बहुत अधिक मंथन की उम्मीद करते हैं, तो मैं मॉड्यूल की अनुशंसा करता हूं। अपने स्विफ्ट कोड को मॉड्यूल में विभाजित करके, प्रत्येक अपने स्वयं के ब्रिजिंग हेडर के साथ, आपको स्विफ्ट पुनर्निर्माण समय को नाटकीय रूप से कम करना चाहिए। स्विफ्ट पुनर्निर्माण के समय में आपको भी सुधार मिलेगा यदि इसे पूरे सिस्टम में हर आंतरिक फ़ंक्शन पर विचार करने की आवश्यकता नहीं है।

मॉड्यूल ऐसा लगता है जहां स्विफ्ट कार्यक्रम संगठन के लिए जाना चाहता है। मैं नहीं कह रहा हूं कि वे अभी तक बहुत मजबूत हैं; वे अभी भी बहुत गन्दा लगते हैं। लेकिन वे शायद इस नौकरी के लिए सबसे अच्छा उपकरण हैं। अच्छी खबर यह है कि आप समस्याओं का सामना करते हुए टुकड़े टुकड़े में माइग्रेट करने में सक्षम होना चाहिए। आपको पूरी तरह से अपने पूरे प्रोजेक्ट को बड़े पैमाने पर फिर से काम नहीं करना चाहिए। मैं निश्चित रूप से पहले दिन 100 रनिंग मॉड्यूल बनाने और 100 अलग-अलग मॉड्यूल बनाने की अनुशंसा नहीं करता। केवल कुछ बड़े लोगों की तलाश करें जो आपके प्रोग्राम को अच्छी तरह से विभाजित कर सकते हैं।

+0

अच्छा बिंदु, धन्यवाद! –

संबंधित मुद्दे