2015-11-03 5 views
6

सी, जावा, सी # और पायथन शुरुआत से संकलित किए गए हैं। फेसबुक के लिए धन्यवाद, PHP अब भी संकलित है और कार्यक्रमों के एचएचवीएम बढ़ते प्रदर्शन पर चलाया जा सकता है। रूबी संकलित नहीं है और उपर्युक्त भाषाओं की तुलना में धीमी है। क्या संभव है कि रूबी भविष्य में संकलित हो जाएगा (जैसे एचएचवीएम के साथ PHP)? या शायद कुछ कारण हैं जो यह नहीं हो सकता है?रूबी भविष्य में संकलित और तेज हो सकता है?

+1

स्टैक ओवरफ़्लो में आपका स्वागत है। आपका प्रश्न राय और अटकलों को प्रोत्साहित करता है, विशिष्ट उत्तरों नहीं। कृपया पूछे जाने वाले प्रश्नों के लिए "[सहायता/विषय-वस्तु]" विषय-वस्तु और "[सहायता/न पूछें]" के लिए पढ़ें। रूबी भविष्य में संकलित हो सकता है लेकिन कब और अगर आलसी है। –

+1

रूबी के सभी मौजूदा और यहां तक ​​कि पिछले सभी कार्यान्वयन में कंपाइलर्स हैं: वाईएआरवी, रूबिनीस, जेआरबी, आयरनरुबी, मैग्लेव, टॉपज, कार्डिनल, रूबीगोलाइटली, एक्सआरबी, स्मॉलरुबी, ब्लू रूबी, एल्युमिना, रूबी.नेट, अन्य आयरन रूबी (दो अलग थे उसी नाम से कार्यान्वयन), रेडसुन, मैकरुबी, एमआरबी, रुबीमोशन, और शायद दूसरों के टन मैं भूल रहा हूं। केवल दो कार्यान्वयन जिनमें कभी संकलक नहीं थे IoRuby (जिसे कभी जारी नहीं किया गया था) और एमआरआई (जो बहिष्कृत और अनियमित है)। JRuby एक शुद्ध दुभाषिया के रूप में शुरू किया, लेकिन बाद में एक संकलक जोड़ा। अधिक दिलचस्प बात: ... –

+1

... IronRuby शुद्ध * कंपाइलर * के रूप में शुरू हुआ लेकिन * * प्रदर्शन * सुधारने के लिए बाद में एक दुभाषिया जोड़ा गया! बेशक, रूबी संकलित किया जा सकता है। सभी भाषाओं को संकलित किया जा सकता है। संकलन और व्याख्या ... के गुण हैं ... अच्छी तरह से ... कंपाइलर या दुभाषिया (duh!), भाषा नहीं। निष्पादन तेजी से कार्यान्वयन पर खर्च किए गए धन/संसाधन/लोगों/पीएचडी सिद्धांतों का एक कार्य है। जावा ने कुत्ते को धीमा कर दिया और केवल तभी तेज हो गया जब जावा कंपनियों ने स्मॉलटाक और लिस्प को जानना शुरू किया। (ओरेकल हॉटस्पॉट अभी भी इसके मूल पर थोड़ा सा संशोधित स्मॉलटाक वीएम है।) –

उत्तर

2

प्रश्न झूठे वक्तव्य/धारणाएं बनाता है।

  1. भाषा आप का उल्लेख के सभी (सी, जावा, सी #, अजगर, और रूबी) संकलित कर रहे हैं। अंतर है जब वे संकलित (रनटाइम बनाम precompiled) हैं।
  2. रूबी 1.9
  3. रूबी "धीमे" अन्य भाषा सिर्फ इसलिए कि यह आम तौर पर कार्यावधि में संकलित किया गया है (यह एक बड़ी ग़लतफ़हमी है) की तुलना में नहीं है के रूप में बाईटकोड को precompiled जा सकता है। कोड प्रीकंपिल्ड होने पर तेज़ी से स्टार्टअप शुरू हो जाएगा, लेकिन कोड को प्रीकंपलिंग करने से यह किसी भी तेज को नहीं चलाएगा।
संबंधित मुद्दे