Product Design, Manufacturing & Innovation Resources
घर » जस्ट-इन-टाइम (JIT) संकलन

जस्ट-इन-टाइम (JIT) संकलन

1990
Software engineer optimizing JIT compilation in a modern workspace.

(यह छवि केवल उदाहरण के लिए बनाई गई है)

Just-in-time (JIT) संकलन एक हाइब्रिड दृष्टिकोण है जो संकलन और व्याख्या दोनों की विशेषताओं को जोड़ता है। कोड को पहले से संकलित करने (AOT) के बजाय, JIT संकलक यह बाइटकोड को निष्पादन से ठीक पहले, रनटाइम पर नेटिव मशीन कोड में अनुवादित करता है। इससे वास्तविक रनटाइम व्यवहार के आधार पर गतिशील अनुकूलन संभव हो पाता है, जिससे अक्सर शुद्ध व्याख्या की तुलना में प्रदर्शन में सुधार होता है।

A JIT संकलक operates within a runtime environment or virtual machine. When a method is called for the first time, its platform-independent bytecode is compiled into native machine code and cached. Subsequent calls to that method execute the fast, native code directly, bypassing the overhead of interpretation. This introduces a small startup or warm-up delay but can result in significant long-term performance gains for long-running applications.

JIT कंपाइलेशन का मुख्य लाभ प्रोफाइल-गाइडेड या एडैप्टिव ऑप्टिमाइजेशन करने की क्षमता है। रनटाइम कोड के निष्पादन की निगरानी कर सकता है, जिससे यह पता चलता है कि कौन से कोड पाथ "हॉट" (बार-बार निष्पादित) हैं और किस प्रकार के डेटा को प्रोसेस किया जा रहा है। यह रनटाइम जानकारी, जो स्टैटिक AOT कंपाइलर के लिए उपलब्ध नहीं होती, JIT को बेहतर ऑप्टिमाइजेशन निर्णय लेने में सक्षम बनाती है। उदाहरण के लिए, यदि यह देखता है कि किसी विशेष कंक्रीट टाइप का हमेशा उपयोग किया जाता है, तो यह वर्चुअल मेथड कॉल्स का स्पेक्युलेटिव इनलाइनिंग कर सकता है। यदि यह धारणा बाद में गलत साबित होती है, तो JIT "डीऑप्टिमाइजेशन" कर सकता है और एक सुरक्षित निष्पादन पथ पर वापस जा सकता है। यह गतिशील प्रकृति JIT कंपाइलेशन को ऑब्जेक्ट-ओरिएंटेड और डायनामिक भाषाओं के लिए अत्यंत प्रभावी बनाती है।

UNESCO Nomenclature: 1203
कंप्यूटर विज्ञान

Type

सॉफ्टवेयर/एल्गोरिदम

व्यवधान

संतोषजनक

उपयोग

व्यापक उपयोग

शगुन

  • समय से पहले (एओटी) संकलक
  • दुभाषिए
  • पी-कोड और अन्य बाइटकोड प्रणालियाँ
  • स्मॉलटॉक और लिस्प जैसी गतिशील भाषाओं में अनुसंधान
  • वर्चुअल मशीन अवधारणाएँ

आवेदन

  • जावा वर्चुअल मशीन (जेवीएम)
  • .NET कॉमन लैंग्वेज रनटाइम (CLR)
  • वेब ब्राउज़रों में जावास्क्रिप्ट इंजन (जैसे, v8)
  • pypy, एक उच्च-प्रदर्शन वाला पायथन कार्यान्वयन
  • डेटाबेस क्वेरी निष्पादन इंजन

पेटेंट:

NA

संभावित नवाचार विचार

  • संभाव्यता मॉडल के आधार पर कोड पथों को निष्पादित होने से पहले ही संकलित करने वाला पूर्वानुमानित JIT संकलन।
  • क्रॉस-डिवाइस JIT संकलन जिसमें एक शक्तिशाली सर्वर कम क्षमता वाले क्लाइंट के लिए JIT निष्पादित करता है।
  • SQL के लिए JIT कंपाइलर जो मध्यवर्ती डेटा सांख्यिकी के आधार पर निष्पादन के दौरान क्वेरी योजनाओं को पुनः अनुकूलित करते हैं।
  • सुरक्षित JIT कंपाइलर जो जेनरेट किए गए कोड में रनटाइम सुरक्षा जांच और सैंडबॉक्सिंग को शामिल करते हैं।
  • कॉन्फ़िगरेशन फ़ाइलों (जैसे, nginx, apache) के लिए JIT कंपाइलर, अनुरोधों को संभालने की गति बढ़ाने के लिए।
  • ऊर्जा-जागरूक JIT कंपाइलर जो प्रदर्शन और बिजली की खपत के बीच संतुलन बनाने के लिए अनुकूलन का चयन करते हैं।
  • एफपीजीए को लक्षित करने वाले जीआईटी कंपाइलर, रनटाइम पर हार्डवेयर को पुन: कॉन्फ़िगर करते हैं।
  • डी-ऑप्टिमाइजिंग JIT कंपाइलर्स जो किसी ऑप्टिमाइजेशन धारणा के गलत साबित होने पर सरल कंपाइलेशन पर वापस लौट सकते हैं।
  • माइक्रोसेवा आर्किटेक्चर के लिए वितरित JIT संकलन
  • JIT कंपाइलर जो GPU निष्पादन के लिए कोड को तुरंत उत्पन्न करते हैं
Related to: JIT, सही समय पर compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

ऐतिहासिक संदर्भ

जस्ट-इन-टाइम (JIT) संकलन

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(यदि तिथि अज्ञात है या प्रासंगिक नहीं है, उदाहरण के लिए "द्रव यांत्रिकी", तो इसके उल्लेखनीय उद्भव का एक अनुमानित आंकड़ा प्रदान किया गया है)

नवीनतम परिवर्धन

शीर्ष पोस्ट और लेख

शीर्ष मूल उपकरण

10वां वर्ष सालगिरह

पंजीकृत सदस्यों के लिए पूर्ण आकार की छवियाँ और डाउनलोड 100% निःशुल्क उपलब्ध हैं।