PDA

View Full Version : فواید Native (بومی) شدن C#



meSaad
سه شنبه 11 خرداد 1395, 15:14 عصر
سلام دوستان

چندین سال است که سخن از Native شدن سی شارپ است. من دقیقآ معنای این حرف رو نمیفهمم. آیا منظور اینه که برای اجرای برنامه نوشته شده با سی شارپ، نیازی به .NET Framework روی سیستم نیست؟ و برنامه تبدیل به صفر و یک ها میشود؟ آیا در این صورت سرعت برنامه میتونه از برنامه نوشته شده با C++ بیشتر بشه؟ آیا سی شارپ حالا بومی شده یا اینکه در نسخه های آتی ویژوال استودیو بومی خواهد شد؟ اگر الان شده چطور باید در Visual Studio 2015 update 2 با C# برنامه بومی نوشت؟

لطفآ جواب همه سوالامو بدید. با تشکر.

Felony
سه شنبه 11 خرداد 1395, 22:38 عصر
آیا منظور اینه که برای اجرای برنامه نوشته شده با سی شارپ، نیازی به .NET Framework روی سیستم نیست؟ و برنامه تبدیل به صفر و یک ها میشود؟

هدف همچین چیزی هست - ابتدا با NGen شروع شد که در آخر به CLR نیاز داره و باید Net. نصب باشه و بعدش یک تیم جدا روی Net Native. کار کرد که نیازی به CLR و نصب بودن Net Framework. نداره .



آیا در این صورت سرعت برنامه میتونه از برنامه نوشته شده با C++‎‎‎‎‎‎‎‎‎‎ بیشتر بشه؟

نمیشه نسخه واحدی پیچید برای این موضوع .
ملاک سرعت رو خیلی چیزها منجمله سخت افزار - زبان برنامه نویسی - بهنیه بودم الگوریتم ها - بهینه بودن کد تولید شده توسط کامپایلر و ... داره .
همین الان هم زمانی که Net. رو نصب میکنید اسمبلی ها در پشت صحنه کامپایل و Cache میشن و سرعت بسیار خوب و قابل قبولی نسبت به نسخه های قبلی Net. که همین ۲-۳ سال پیش عرضه میشد دارن .
اینکه سرعت بهتر از ین هم میشه شکی توش نیست ولی اینکه بشه با ++C مقایسش کرد فعلا زوده - از طرفی کامپایلر سی مایکروسافت خیلی بالغ هست و Net Native. در مقابل یک کودک که خیلی جای کار برای تولید کدهای Optimize شده با Performance بالا داره - از طرفی هم مایکروسافت سرمایه گذاری شدیدی روی این پلتفرم داره انجام میده و شاید این بهینه سازی و بلوغ برای Net Native. خیلی هم به طول نکشه .

در آخر با توجه به ماهیت ++C و زبان های دات نتی نباید توقع مقایسه کدهای Net Native. رو با زبانهایی مثل ++C یا Delphi داشته باشید - ولی حتما نتیجه این کار قابل تحسین خواهد بود و حتی شاید در موارد زیادی این تفاوت انقدر نامحسوس باشه که بشه ازش چشم پوشی کرد .



آیا سی شارپ حالا بومی شده یا اینکه در نسخه های آتی ویژوال استودیو بومی خواهد شد؟ اگر الان شده چطور باید در Visual Studio 2015 update 2 با C#‎‎‎‎‎‎‎‎‎‎ برنامه بومی نوشت؟

https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/dn807190(v=vs.110).aspx
https://channel9.msdn.com/shows/going+deep/inside-net-native