2011-12-01 14 views
5

मैं अपने द्वारा इंस्टॉल किए गए सभी संकुलों को बाइट-संकलित क्यों नहीं करूं? क्या बाइट-कंपाइल का कुछ परिणाम इसके बारे में सोचने का निर्णय ले रहा है?आर 2.14 बाइट संकलन - क्यों नहीं?

उत्तर

3

एक नकारात्मक यह है कि आप बाइट संकलित कोड डीबग नहीं कर सकते हैं। फ्लिप पक्ष पर, एक बार कोड उत्पादन तैयार हो जाने पर, सिद्धांत में आपको इसकी आवश्यकता नहीं होगी (और यदि आपको आवश्यकता हो तो आप इसे w/o बाइट संकलन को पुनर्स्थापित कर सकते हैं)

+0

तो ब्राउज़र() काम नहीं करेगा? – SFun28

+0

मैं इस वक्त इस कथन को सत्यापित करने की स्थिति में नहीं हूं, लेकिन यह मेरी समझ है। – geoffjentry

+0

मुझे नहीं लगता कि यह सच है। – hadley

1

आर संस्करण 2.14 में, एक प्रमुख नकारात्मक पक्ष बाइट-कंपाइलिंग यह था कि यह कुछ functions धीमा कर सकता है। एक और दो डाउनसाइड्स पैकेज आकार और स्थापना में वृद्धि हुई थी।

आर (3.3.एक्स) के वर्तमान संस्करण के लिए, मुझे अभी तक बाइट-कंपाइलिंग के लिए नकारात्मक पक्ष नहीं मिला है।

0

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

browser() और उपयोगकर्ता परिप्रेक्ष्य से बाइट-संकलित कोड कार्यों के साथ डिबगिंग, उसी तरह से गैर संकलित कोड के साथ। आंतरिक रूप से डीबगर प्रोग्राम के एएसटी पर चलाता है (इसलिए बाइट-कोड को छोड़कर), लेकिन यह उपयोगकर्ता को दिखाई नहीं देता है।

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