2010-10-29 9 views
7

की तुलना में lli REPL मैं सोच रहा था कि किसी को llvm/tools - lli दुभाषिया/जेआईटी-कंपाइलर (सीएफ http://llvm.org/docs/GettingStarted.html#tools) के साथ अनुभव हुआ है। मुझे आपकी जानकारी (गति, जटिलता, कार्यान्वयन इत्यादि) प्रदान करने वाली किसी भी जानकारी में रूचि है।llvm/tools: lliJIT

धन्यवाद।

अद्यतन:

ठीक है, कैसे bitcode होगा निष्पादन LuaJIT वीएम निष्पादन की तुलना में हो एक दुभाषिया के रूप में मान कि lli में कार्य करता है? जब लिली एक जिट-कंपाइलर (समान तुलना) के रूप में कार्य करता है तो क्या होगा?

नोट: मैं केवल यह पूछ रहा हूं कि किसी को अनुभव है या साझा करने के लिए कुछ समय बिताने के इच्छुक हैं।

+1

आपको इससे अधिक विशिष्ट प्रश्न पूछना होगा। – jer

+0

क्षमा करें। मैंने सवाल अपडेट किया है। इंगित करने के लिए धन्यवाद। – are

+0

@ नेओपैलियम, क्या आप इसका उत्तर दे सकते हैं? (वह http://code.google.com/p/llvm-lua/ के लेखक हैं) – osgx

उत्तर

5

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

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

लुआजिट बाइटकोड भी विशेष रूप से लुआजिट के लिए डिज़ाइन किया गया था, जहां एलएलवीएम का बिटकोड बहुत अधिक सामान्य है, यह स्पष्ट रूप से लुजाइट के निष्पादन को तेज कर देगा। लुइजिट का बाइटकोड भी जेआईटी और ट्रैसर द्वारा उपयोग के लिए एन्कोडिंग ऑप्टिमाइज़ेशन संकेत आदि के लिए डिज़ाइन किया गया है।

इस तथ्य को अनदेखा करते हुए कि ये दो अलग-अलग प्रकार के जेआईटी हैं, एलएलवीएम के लिए पूरी तुलना उबलती है, जेनेरिक जेआईटी/कंपाइलर बैकएंड होने पर केंद्रित है, लुआजिट लूआ को यथासंभव तेज़ी से संभव तरीके से निष्पादित करने पर केंद्रित है, इस प्रकार यह सामान्यता से बाध्य नहीं होने से लाभ प्राप्त करता है।

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

  • कोई संबंधित समस्या नहीं^_^