2016-07-12 7 views
8

मैं समझता हूं कि RyuJIT जेआईटी की तुलना में एक तेज संकलक है। लेकिन क्या यह .NET 4.6 के लिए नया मानक है या Roslyn है?RyuJIT और Roslyn के बीच क्या अंतर है?

या यह है कि जब आप संकलन प्रक्रिया के दौरान एपीआई का पर्दाफाश करने की आवश्यकता होती है तो Roslyn का उपयोग किया जाता है?

मैं उनके उद्देश्यों के बीच उलझन में हूं और वे किस ढांचे में पाएंगे। क्या कोई & अंतर को समझा सकता है, जब आप एक दूसरे से अधिक चाहते हैं, तो कृपया?

+1

रोज़लिन आईएल में सी #/वीबी पाठ संकलित करता है। जेआईटी (और RyuJIT) रनटाइम पर आईएल से मशीन कोड संकलित करता है। –

+2

RyuJIT प्रोजेक्ट ने x64 जिटर के लिए एक प्रतिस्थापन बनाया, मूल .NET 2.0 में भेजे गए मूल में बहुत सारी बग थी जो ठीक नहीं हो सका। Roslyn परियोजना के साथ बिल्कुल कोई सहसंबंध नहीं है, कि वे एक ही समय में भेज दिया एक दुर्घटना थी। –

+0

@eliarbel धन्यवाद। तो क्या इसका मतलब है कि Roslyn csc.exe - Csharp संकलक के लिए एक प्रतिस्थापन हो सकता है? – myfunnyfella

उत्तर

10

Roslyn एक संकलक है जो आपके स्रोत कोड लेता है और आईएल बाइटकोड उत्पन्न करता है। RyuJIT रनटाइम पर बाइटकोड कहा जाता है, और देशी कोड उत्पन्न करता है। आप फ्लाई पर स्रोत कोड संकलित करने के लिए Roslyn को एक ऐप में एम्बेड कर सकते हैं, लेकिन RyuJIT रनटाइम के लिए कड़ाई से है और जहां तक ​​मुझे पता है तक पहुंचा नहीं जा सकता है।

9

Roslyn संकलक है जो आपके कोड (सी # या वीबी) को आईएल में संकलित करता है।

RyuJIT एक Just In Time संकलक है जो आपके आईएल को मूल कोड में संकलित करता है।

उनमें से दोनों अब खुले स्रोत हैं।

Roslyn

RyuJIT, Tutorial

रोसलिन एपीआई आपको क्या चाहिए तुम्हें वाक्य रचना पेड़, संकलन और अर्थ मॉडल के साथ खेलने के लिए चाहते हैं।

RyuJIT में सार्वजनिक एपीआई नहीं है।

+2

यह [सिंहावलोकन] (https://github.com/dotnet/coreclr/blob/master/Documentation/botr/ryujit-overview.md) RyuJIT पर भी एक उत्कृष्ट संसाधन है। –

2

आप संतरे के लिए सेब की तुलना करने की कोशिश कर रहे हैं ...

RyuJIT (डिफ़ॉल्ट नेट 4.6 के लिए 64 JIT), देशी प्रोसेसर कोड के लिए MSIL संकलित रनटाइम के दौरान। Roslyn आपके (सी #?) कोड से एमएसआईएल बनाता है।

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