2012-11-29 19 views
6

मार्टिन ओडर्स्की द्वारा पुस्तक "स्केला में प्रोग्रामिंग" में, यह कारण की व्याख्या क्यों scalac लगता है धीमी (पेज 114):स्केलेक व्यवहार - बेकार स्कैन?

कारण है हर बार संकलक शुरू होता है कि, यह समय खर्च करता है सामग्री स्कैनिंग से पहले जार फाइलों और अन्य प्रारंभिक काम करने से यह आपके द्वारा जमा की गई ताजा स्रोत फ़ाइलों को भी देखता है।

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

javac क्यों समान व्यवहार नहीं करता है?

+3

मुझे आशा है कि अधिकांश डेवलपर्स जस्ता (वृद्धिशील स्कैला कंपाइलर, जो एसबीटी में निर्मित है, मेवेन प्लगइन के हाल के संस्करण और कुछ अन्य टूल्स) का उपयोग करें। –

+0

मैंने एफएससी से कहा क्योंकि यह पुस्तक में एक सटीक है। मैंने अभी स्कैला सीखना शुरू कर दिया है, इसलिए मैंने सोचा है कि क्यों 'जावैक' को कंपाइलर डीमॉन की आवश्यकता नहीं है क्योंकि स्कैला अनुकूलित संकलन प्रक्रिया की आवश्यकता होती है। – Mik378

+1

मुझे संदेह है कि अगर जैकैक एक कंपाइलर डिमन था तो तेज होगा। जावा सबसे अधिक सरल भाषा है और संकलक अनुकूलन के रास्ते में बहुत कम करता है, जिसमें कुछ फायदे हैं। ;) –

उत्तर

1

ऐसा शायद इसलिए है क्योंकि scalac बस .jar फ़ाइल में एक कक्षा को कॉल करता है। मेरा अनुमान है कि वे अस्थायी (या कैश) फाइलें नहीं बनाना चाहते हैं।

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