2014-04-04 16 views
28

Dzisiaj przeczytałem artykuł o nowej domenie .Net na MSDN.Co nowego .Net Native

„Windows Store aplikacje rozpocznie się o 60% szybciej NET rodzimych i mają znacznie mniejszą powierzchnię pamięci. Nasza pierwsza wersja jest Twórca Preview, która pozwala rozwijać i aplikacje testowe z tym nowym kompilatora Ta przedpremierowa wersja .NET Native oferuje wydajność C++ o wydajności C#.

Oczywiście, jest to naprawdę interesujące, ale jeśli .Net Native jest nowym kompilatorem, który zapewnia dobrą wydajność, to dlaczego musimy wybrać RyuJIT. Co to jest nowy .Net Native? Jaka jest różnica między nowymi .Net Native i RyuJIT, również Microsoft wydał kompilator jako usługę o nazwie Roslyn. Więc jak Roslyn wspiera tego nowego .Net Native.

+1

Jest * dużo * pracy do zrobienia, zanim stanie się powszechnie stosowane. Zwłaszcza w przypadku aplikacji na komputery są jeszcze bardzo nieprzyjemne problemy do rozwiązania. Dość niejasne teraz, jeśli mogą je rozwiązać. Podejrzewam, że opakowanie aplikacji w stylu Sklepu musi być na pierwszym miejscu. –

+6

Och, człowieku, teraz jesteśmy gotowi wykonać twoją pracę i dowiedzieć się informacji na zewnętrznych stronach? Chodź - nie jest to "wykonaj moje badania dla mnie, nie uda mi się w serwisie google fu". – TomTom

+0

To pytanie wydaje się być nietypowe, ponieważ dotyczy niedawnego ogłoszenia produktu i prawdopodobnie nie przyciągnie świadomych odpowiedzi. –

Odpowiedz

24

. Język macierzysty nie jest częścią projektu Roslyn jako takiego. Roslyn jest ponowną implementacją kompilatorów C# i VB oraz usług językowych. Pamiętaj, że te kompilatory produkują zarządzane zestawy. Aby uruchomić, muszą zostać przetłumaczone na kod specyficzny dla platformy. Zwykle wykonuje się to za pomocą kompilatora JIT w środowisku wykonawczym .NET.

.NET Native pozwala przekształcać projekty .NET w natywne pliki binarne podobne do tych, które robi NGEN, ale z kilkoma ważnymi różnicami. .NET Native używa innej natywnej części kompilatora niż NGEN, która generalnie generuje szybszy i mniejszy kod. Umożliwia również rodzaj statycznego łączenia, który nie jest dostępny dla zwykłych aplikacji .NET.

+0

Więc obsługa Roslyn nie jest dostępna dla nowego .Net Native? –

+1

@VimalCK Wierzę, że myślisz o tym w niewłaściwy sposób. Pamiętaj, że kompilator C# nie generuje natywnego kodu. JIT/NGEN/.NET Native to zrobić. –

+2

Więc możliwe jest użycie Roslyn dla C# -> IL, a następnie RyuJIT dla IL-> Język ojczysty? – AaronLS

Powiązane problemy