2016-02-27 4 views
6

पिंपल (भी: कंपाइलर फ़ायरवॉल) idiom को पठनीयता की लागत और थोड़ा रनटाइम प्रदर्शन पर संकलन समय को छोटा करने के लिए उपयोग किया जाता है। फिलहाल एक परियोजना को संकलित करने में लंबा समय लगता है, को सर्वोत्तम पिंपल उम्मीदवारों को कैसे मापें?पिंपल उम्मीदवारों को कैसे मापें?

मेरे पास पिंपल का उपयोग करने में मेरा अनुभव है, एक परियोजना को दो घंटे से दस मिनट तक संकलित करने का समय छोटा कर रहा है, लेकिन मैंने यह सिर्फ अपने प्रवृत्तियों के बाद किया: मैंने क्लास हेडर फाइलों का तर्क दिया जिसमें (1) बहुत सारे स्रोत कोड शामिल हैं (2) जटिल/टेम्पलेट वर्ग, परम मुहावरे का उपयोग करने के लिए सबसे अच्छे उम्मीदवार हैं।

क्या कोई ऐसा उपकरण है जो बताता है कि कौन से वर्ग अच्छे पिंपल उम्मीदवार हैं?

+1

OT: मैं हमेशा धारणा है कि pimpl उपयोग करने के लिए मुख्य कारण के लिए गया था के तहत किया गया कार्यान्वयन विवरण से सार्वजनिक इंटरफ़ेस अन-ब्लोट। वैसे भी, महान प्रश्न – sjaustirni

+0

क्या आपने संकलन समय पर प्रदर्शन का लाभ देखने के लिए प्रीकंपिल्ड हेडर का उपयोग करने का प्रयास किया था? – Christophe

+0

@ क्रिस्टोफ़े: हाँ, मैंने प्रीकंपील्ड हेडर का उपयोग किया है। मेरा मूल प्रश्न साइडिंग होगा: 'प्रीकंपील्ड हेडर उम्मीदवारों को कैसे मापें?' – richelbilderbeek

उत्तर

0

यह सच है कि पिंपल वृद्धिशील संकलन के लिए उपयोगी है।

लेकिन पिंपल का उपयोग करने का मुख्य कारण एबीआई संगतता को संरक्षित करना है। एपीआई में लगभग सभी सार्वजनिक वर्गों के लिए यह मेरी पिछली कंपनी में नियम था।

अन्य लाभ यह है कि आप अपनी लाइब्रेरी को ऐसे हेडर वाले पैकेज के रूप में भी वितरित कर सकते हैं जो कार्यान्वयन विवरण का खुलासा नहीं करता है।

इसके लिए मैं कहूंगा: जहां भी संभव हो Pimpl का उपयोग करें। क्यूटी Pimpl कार्यान्वयन विवरण और लाभ की

एक बहुत अच्छा लेख:

  • precompiled शीर्ष लेख का उपयोग कर
  • छोटे में अपने बड़े परियोजनाओं को विभाजित: https://wiki.qt.io/D-Pointer

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

  • ...
+0

स्ट्रेस की कोशिश करूंगा और इन बिंदुओं पर मुझे प्रबुद्ध करने के लिए धन्यवाद साड। फिर भी, मेरा सवाल यह है कि, एक पिंपल का उपयोग करने के उपाय को मापने के लिए संकलन-समय में सबसे अधिक वृद्धि होगी। उस उत्तर के निकटतम 'कोड टच फ्रीक्वेंसी द्वारा अपनी बड़ी परियोजनाओं को छोटे लोगों में विभाजित करने' का सुझाव है। मेरा सवाल है: 'आप इसे कैसे मापते हैं?' – richelbilderbeek

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