लुआजिट एक ट्रेसिंग जेआईटी है, जिसका अर्थ यह है कि यह निष्पादन पर्यावरण के माध्यम से पारित डेटा को बेहतर सुइट करने के लिए स्वयं को फिर से अनुकूलित कर सकता है, हालांकि, एलएलवीएम एक स्थैतिक जेआईटी है, और इस प्रकार केवल एक बार ऑफ-बेस्ट केस मशीन उत्पन्न होगी संबंधित स्रोत के लिए कोड, जो इसे अग्रणी बना सकता है, यह तंग लूप या खराब शाखा गलतफहमी में प्रदर्शन खो देता है।
वास्तविक लुआजिट वीएम भी अत्यधिक अनुकूलित, थ्रेडेड, मशीन विशिष्ट असेंबली है, जहां एलएलवीएम पोर्टेबिलिटी (और अन्य कारणों) के लिए सी ++ का उपयोग करता है, इसलिए यह स्पष्ट रूप से लुआजिट को एक बड़ा फायदा देता है। एलएलवीएम में लुआजिट की तुलना में बहुत अधिक ओवरहेड है, पूरी तरह से क्योंकि लुआजिट को बहुत कम शक्तिशाली सिस्टम (जैसे कि एआरएम सीपीयू द्वारा संचालित) पर काम करने के लिए डिज़ाइन किया गया था।
लुआजिट बाइटकोड भी विशेष रूप से लुआजिट के लिए डिज़ाइन किया गया था, जहां एलएलवीएम का बिटकोड बहुत अधिक सामान्य है, यह स्पष्ट रूप से लुजाइट के निष्पादन को तेज कर देगा। लुइजिट का बाइटकोड भी जेआईटी और ट्रैसर द्वारा उपयोग के लिए एन्कोडिंग ऑप्टिमाइज़ेशन संकेत आदि के लिए डिज़ाइन किया गया है।
इस तथ्य को अनदेखा करते हुए कि ये दो अलग-अलग प्रकार के जेआईटी हैं, एलएलवीएम के लिए पूरी तुलना उबलती है, जेनेरिक जेआईटी/कंपाइलर बैकएंड होने पर केंद्रित है, लुआजिट लूआ को यथासंभव तेज़ी से संभव तरीके से निष्पादित करने पर केंद्रित है, इस प्रकार यह सामान्यता से बाध्य नहीं होने से लाभ प्राप्त करता है।
आपको इससे अधिक विशिष्ट प्रश्न पूछना होगा। – jer
क्षमा करें। मैंने सवाल अपडेट किया है। इंगित करने के लिए धन्यवाद। – are
@ नेओपैलियम, क्या आप इसका उत्तर दे सकते हैं? (वह http://code.google.com/p/llvm-lua/ के लेखक हैं) – osgx