[संपादित करें इतिहास को एक अलग उत्तर के लिए देखें जो अब मूल रूप से अप्रचलित है।]
हां, C और / या C ++ के लिए कुछ JIT कंपाइलर हैं।
CLing (जैसा कि आप खेल से अनुमान लगा सकते हैं) Clang / LLVM पर आधारित है। यह एक दुभाषिया की तरह काम करता है। यही है, आप इसे कुछ स्रोत कोड देते हैं, इसे चलाने के लिए एक कमांड देते हैं, और यह चलता है। यहां जोर मुख्य रूप से सुविधा और तेज संकलन पर है, अधिकतम अनुकूलन पर नहीं। इस तरह, हालांकि तकनीकी रूप से इस सवाल का जवाब है, लेकिन यह वास्तव में ओपी के इरादे के अनुरूप नहीं है।
एक और संभावना मूल निवासी है । यह सवाल कुछ अलग तरह से फिट बैठता है। विशेष रूप से, यह C या C ++ स्रोत कोड को स्वीकार नहीं करता है, और इसे संकलित और निष्पादित करता है। बल्कि, यह एक छोटा संकलक है जिसे आप अपने C ++ प्रोग्राम में संकलित कर सकते हैं। यह एक अभिव्यक्ति को स्वीकार करता है जिसे मूल रूप से आपके C ++ प्रोग्राम के अंदर एक ईडीएसएल के रूप में व्यक्त किया गया है, और इससे वास्तविक मशीन कोड उत्पन्न होता है, जिसे आप तब निष्पादित कर सकते हैं। यह एक रूपरेखा के साथ बहुत बेहतर बैठता है जहां आप अपने अधिकांश कार्यक्रम को सामान्य संकलक के साथ संकलित कर सकते हैं, लेकिन कुछ अभिव्यक्तियाँ हैं जिन्हें आप रन-टाइम तक नहीं जान पाएंगे, जिसे आप उस चीज़ के साथ निष्पादित करना चाहते हैं जो इष्टतम निष्पादन की गति तक पहुंचती है।
मूल प्रश्न के स्पष्ट आशय के लिए, मुझे लगता है कि मेरे मूल उत्तर का मूल बिंदु अभी भी खड़ा है: जबकि एक जेआईटी संकलक डेटा के रूप में ऐसी चीजों के लिए अनुकूल हो सकता है जो एक निष्पादन से दूसरे में भिन्न होता है, या एक निष्पादन के दौरान गतिशील रूप से भिन्न होता है, वास्तविकता यह है कि यह सामान्य नियम के रूप में कम से कम अंतर बनाता है। ज्यादातर मामलों में, रन समय में एक कंपाइलर चलाने का मतलब है कि आपको अनुकूलन का थोड़ा सा हिस्सा लेने की आवश्यकता है, इसलिए सबसे अच्छी बात यह है कि आप आमतौर पर आशा करते हैं कि यह एक पारंपरिक कंपाइलर के रूप में उपवास के करीब है।
यद्यपि ऐसी परिस्थितियों को पोस्ट करना संभव है जहां एक जेआईटी संकलक के लिए उपलब्ध जानकारी इसे पारंपरिक संकलक की तुलना में काफी बेहतर कोड उत्पन्न करने की अनुमति दे सकती है , व्यवहार में ऐसा होने के उदाहरण बहुत ही असामान्य प्रतीत होते हैं (और ज्यादातर मामलों में जहां मैं सत्यापित करने में सक्षम रहा हूं। यह हो रहा है, यह वास्तव में स्रोत कोड में एक समस्या के कारण था, स्थैतिक संकलन मॉडल के साथ नहीं)।