2013-01-08 18 views
7

मैंने स्कैला 2.10.0 और 2.9.2 पर संकलन समय के लिए एक बेंचमार्क किया है, और पाया है कि 2.10.0 ने 2.9.2 से अधिक संकलन समय लिया।किस मामले में स्कैला 2.10.0 कंपाइलर 2.9.2 से तेज या धीमा हो सकता है?

यह किस मामले में होता है? या स्कैला 2.10.0 कंपाइलर सामान्य कारणों से 2.9.2 से धीमा हो सकता है?

+2

मैंने दोनों संस्करणों के साथ अब कई परियोजनाओं को संकलित किया है। 2.10 औसत में 5% और 10% धीमी के बीच लगता है। स्वच्छ निर्माण के लिए मुझे 2.9.2 में 50, 65, 70 सेकंड की तरह, 55, 70, 72 सेकंड की तुलना में 2.10 में था। दूसरे शब्दों में, गति कम या कम होती है (विशेष रूप से जब वृद्धिशील भवन का उपयोग करते हैं), हालांकि मुझे उम्मीद है कि 2.10.1 में कुछ अनुकूलन होंगे। 2.10 में परिवर्तित एकमात्र प्रमुख घटक पैटर्न matcher है। अन्यथा नई सुविधाओं, एसआईपी -18 आदि के लिए शायद कुछ और सशर्त हैं। प्रदर्शन ट्यूनिंग 2.11 के लिए लक्ष्य है। –

+0

निश्चित रूप से आप समझेंगे कि अधिक जानकारी के बिना आपको जवाब देना मुश्किल है। आपके बेंचमार्क के बारे में क्या था? क्या कम से कम ओपन सोर्स प्रोजेक्ट्स हैं जो आप स्कैला संस्करणों में विभिन्न संकलन गति प्रदर्शित करने के लिए इंगित कर सकते हैं? – huitseeker

+0

@ 0__ 2.11 रिलीज सड़क मानचित्र के अनुसार 1 साल से थोड़ा अधिक दूर है। अभी तक आपके 5-10% धीमे अवलोकन की पुष्टि नहीं हुई है; दुर्भाग्यपूर्ण अगर यह मामला है - बहु-परियोजना बनाता है या बस्ट। – virtualeyes

उत्तर

0

प्रारंभिक एसबीटी शुरू + स्वच्छ/संकलन 2.10 दिखाई देता 2.9.x की तुलना में तेजी होने की

हालांकि, बाद में साफ पर/2.10 पर चक्र संकलन, समय, एक ही रहते हैं 2.9.x के विपरीत जहां कैश की बात आती है बचाव और साफ/संकलित चक्रों को काफी कम करें।

उदाहरण के लिए, मैं दोनों 2.9.2 और 2.10 (37 स्केला, 6 जावा)

2.9.2 परियोजना लेता है पर 50 सेकंड @ पर एक कोर परियोजना सेटअप प्रारंभिक साफ/संकलन; इसके बाद अधिकतम 15 से 20 सेकंड

[warn] 6 warnings found 
[success] Total time: 16 s 

2.1.0 प्रोजेक्ट प्रारंभिक स्वच्छ/संकलन पर @ 40 सेकंड लेता है; उसके बाद @ 40 सेकंड।

[warn] 14 warnings found 
[success] Total time: 45 s 

ध्यान दें कि 2.9.2 प्रोजेक्ट 6 चेतावनियां उत्पन्न करता है; 2.10 परियोजना, 14 चेतावनियां।

इस धागे में अन्य परिणाम देखने के लिए अच्छा लगेगा, केवल परीक्षण शुरू किया।

पूरे एप्लिकेशन को 2.10 में परिवर्तित करने की उम्मीद नहीं है - वर्तमान बिल्ड समय 2.9.2 पर @ 100 सेकंड है; यदि ऊपर की प्रवृत्ति है, तो 2.10 पर 200-300 + सेकंड होना चाहिए।

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