Ten wspólny język wykonawczy został pierwotnie opracowany w celu osiągnięcia wysokiej wydajności zgodnie z Twoimi wymaganiami. Ten artykuł dotyczy aplikacji o wysokiej wydajności w .NET i nie jest wyczerpującą dyskusją.

W tym artykule omówimy następujące tematy;

1. Najważniejsze punkty dotyczące platformy .NET, o których zawsze należy pamiętać.

2. Komentarze 2 ekspertów branżowych na ten temat.

Aplikacja o wysokiej wydajności w .NET ma priorytet. Jeśli chodzi o zainteresowanie wysoką wydajnością w .NET, zawsze należy wziąć pod uwagę wiele punktów. Rzućmy okiem na niektóre z nich.

1. Ważne punkty dotyczące platformy .NET, o których zawsze należy pamiętać.

• Profilowanie interfejsów API przypomina dostarczanie bardziej szczegółowych wskaźników alokacji pamięci, co jest zdecydowanie ogromną poprawą w porównaniu z innymi obecnymi interfejsami API.

• Większość z nas musi mieć świadomość, że .NET ma wiele interfejsów API i bibliotek programowania równoległego, takich jak Task Parallel Library, Akka.NET itp. Największym wyzwaniem w tym obszarze jest szkolenie i komunikacja z użytkownikami. Tworzenie podobnych abstrakcji jest bardzo wygodne dla szerszej społeczności.

• Znaczące i precyzyjne ulepszenia wydajności dotyczą platformy .NET od wersji 4.0. Dlatego warto zrewidować wszelkiego rodzaju założenia oparte na innych starszych wersjach .NET Framework.

• Odśmiecanie jest ważnym, powtarzającym się tematem we wszystkich typach wysokowydajnych scenariuszy, co doprowadziło do wielu ulepszeń CLR i języka, takich jak zadania wartości i zwroty referencyjne.

W związku z tym zaobserwowano różne zainteresowania. NET i wzrosła do ogromnej tablicy. Jeśli chodzi o standardowe aplikacje .NET i platformy dla nich, tradycyjnie nie jest to znane każdemu specjalistowi. .NET otworzył wiele platform do pisania wysokiej jakości aplikacji. Ponadto istnieje wiele drzwi, które zostały otwarte dla wielu platform, takich jak urządzenia IoT i telefony komórkowe. Urządzenia te oferują wiele opcji rozwiązywania nowych wyzwań niż zwykłe komputery stacjonarne i serwery. NET Core jest wciąż nieznany wielu programistom i mieszkańcom, dlatego wciąż czeka na kolejne historie sukcesu w odniesieniu do aplikacji o wysokiej wydajności. Kompleksowe systemy .NET mają wiele mikrousług, czynników bezserwerowych i innych kontenerów. Każdy z nich ma możliwość stawiania własnych wymagań wydajnościowych.

2. Komentarze 2 ekspertów branżowych na ten temat.

Spójrzmy na kilka faktów, które dwóch znanych ekspertów branżowych mówią o tym, gdzie jest .NET, jeśli chodzi o wydajność. Współczynnik i sposób, w jaki można go porównać z różnymi platformami głównego nurtu.

ON. Maoni Stephens - główny programista .NET GC

B. B. Ben Watson - autor książek Writing High-Performance .NET Code and C # 4.0

W tej dziedzinie odbyło się wystarczająco dużo dyskusji i zaobserwowano wielu trendsetterów.

ON. Maoni Stephens - Jest głównym programistą .NET GC

Bez wątpienia .NET GC jest jednym z najczęściej opisywanych obszarów, gdy mówimy o jego ogólnej wydajności. Wspomniała, że ​​jej odpowiedzi w tym konkretnym panelu będą bardzo skoncentrowane na GC podczas pracy. Ich zdaniem wiele osób uważa, że ​​the.NET był i jest kojarzony tylko z wysoką wydajnością, a nie z wydajnością. Istnieje wiele produktów napisanych w .NET, które zwiększają wymagania dotyczące wydajności. Aby upewnić się, że nasz GC może bardzo dobrze spełnić wszystkie możliwe wymagania, powinniśmy upewnić się, że przetestujemy je za pośrednictwem naszego wewnętrznego zespołu koordynacyjnego, który jest w stanie poradzić sobie ze stresującymi obciążeniami w złożonym świecie, zanim dostarczymy ważną funkcję. postępuj jak Exchange lub Bing. Maoni dodaje, że jest to najlepszy sposób, aby nie polegać wyłącznie na testach porównawczych makro / mikro, które są bardzo przydatne, ale także nie mogą wykazać wydajności w rzeczywistych scenariuszach. Możesz przeczytać wiele ich blogów na ten temat.

Większość klientów chce najlepszej wydajności i musimy odpowiednio pracować.

B. Ben Watson - jest autorem książek Writing High-Performance .NET Code and C # 4.0

Według niego .NET ma już silną pozycję i robi się coraz szybszy. Zespół CLR bierze pełną odpowiedzialność za wydajność i osiągnął także wystarczający sukces z .NET, takim jak JIT i moduł czyszczenia pamięci. Mówi, że mój produkt wprowadził niektóre z tych niezbędnych zmian i to absolutnie satysfakcjonujące, że świat czerpie z tego korzyści, a nie tylko największą aplikację Microsoftu. Wydajność to zawsze podstawowa praca i każda inna platforma, która idzie na kompromis. .NET oferuje niesamowite i najlepsze funkcje w środowisku uruchomieniowym, ale musisz przestrzegać zwykłych zasad, aby uzyskać najlepsze wyniki i oczywiście jak najlepiej je wykorzystać. Ten najlepszy możliwy poziom wydajności, który wymaga najwyższego poziomu inżynierii i innych platform, ma inne kompromisy, ale wszelkie wysiłki inżynieryjne zawsze będą bezbłędne. Ale oczywiście jest kilka słabych stron. W ogromnym świecie online, w którym każde żądanie ma znaczenie, czynniki takie jak GC i JIT mogą mieć wpływ na ekstremalną wydajność. Istnieje wiele rozwiązań tego samego, ale może to wymagać dużego wysiłku w zależności od tego, jak ważna jest dla Ciebie ta wydajność.

Wniosek

W tym temacie zaobserwowano wielu różnych wyznaczników trendów. Wiemy również, że możemy uruchamiać aplikacje serwerowe w systemie Linux, które są specyficznym i nierozpoznanym obszarem dla programistów. Jeśli chodzi o wysoką wydajność w .NET, należy rozważyć najważniejsze omówione kwestie, a poglądy Bena Watsona i Maoni Stephens na pewno będą bardzo pomocne.