आयरनपीथन (अच्छी तरह से डीएलआर के साथ प्रारंभिक एक जिसे मैं आयरनशेम पर आधारित करता हूं) की तरह, आयरनशेम को आईएल स्तर तक सभी तरह से संकलित किया जाता है।
इसके अलावा, आयरनशेम में कोई व्याख्या नहीं किया गया है (जब तक कि आप रनटाइम प्रतीक लुकअप को कॉल न करें), क्योंकि मैंने डीएलआर की मेरी 'शाखा' से बहुत कुछ निकाल दिया है, इसका उपयोग नहीं किया जा रहा है और इसे कम करने के कारण कोड पदचिह्न (मैंने अनुमान लगाया है कि मैंने केवल डीएलआर का लगभग 25% उपयोग किया था, जहां बाकी पाइथन-केंद्रित था)।
यह देखने के लिए कि आईएल क्या उत्पन्न होता है, आप प्रतिबिंबित .NET में ironscheme.boot.dll
असेंबली देख सकते हैं (आईएल मोड का उपयोग करके, क्योंकि सी # को अजीब तरह से पुनर्गठित किया जाता है और कुछ मामलों में केवल सादा गलत होता है)। यह पूरी असेंबली आयरनशेम द्वारा संकलित की जाती है। रनटाइम जेनरेट कोड देखने के लिए बहुत अधिक ट्रिकियर है।
जैसा कि कहा गया है, इसमें जेआईटी के सभी लाभ हैं, और डीएलआर पर किए गए अनुकूलन के साथ और अधिक योजना केंद्रित होने के साथ, यह आमतौर पर आयरनपीथन से तेज प्रदर्शन करता है जब मैंने पिछली बार परीक्षण किया (एक अच्छा 18 महीने पहले कम से कम, मुझे एहसास है कि तब से आयरनपीथन में काफी सुधार हुए हैं, लेकिन आयरनशेम कुछ कारकों को तेजी से चला रहा था, यहां तक कि योजना का उपयोग करके 'पाइथन जैसे गेंद को भी' महसूस किया गया था)।
इसके अलावा, मैंने आयरनशेम के लिए नींव के रूप में अधिकतर .NET ढांचे का उपयोग करने और इंटरऑपरेबिलिटी को आसान बनाने का प्रयास किया है। vectors
, byte-vectors
, binary-ports
और hash-tables
जैसी चीजें सामान्य .NET कक्षाओं पर आधारित हैं जिन्हें हम सभी जानते हैं और उपयोग करते हैं; object[]
, byte[]
, Stream
और Hashtable
क्रमशः कुछ नाम देने के लिए।
धन्यवाद, लेप्पी। –