|
50153
.NET PERFORMANCE
|
|
|
|
|
50153
|
|
.NET Performance
|
|
|
|
4 (liczba
dni zajęć w godzinach 9.00-16.00)
|
|
brak egzaminu dla tego kursu
|
|
|
Dla kogo Szkolenie jest przeznaczone dla osób, które są programistami, którzy chcą zdobyć wiedzę i umiejętności z zakresu tworzenia wydajnych aplikacji na platformie .NET. Wymagania wstępne Wymaganiem wstępnym do udziału w szkoleniu jest znajomość i praktyczna wiedza z zakresu programowania w C# 2.0, znajomość .NET Framework 2.0, ukończenie szkolenia MS 2349 lub równorzędny poziom wiedzy. Zakres tematyczny - MIERZENIE WYDAJNOŚCI APLIKACJI .Net • Model kosztu kodu zarządzanego • Pofiler-y – CPU, pamięć, dostosowane API • Mierzenie ręczne – mechanizmy mierzenia wydajności, liczniki wydajności, Windows Management Instrumentation (WMI)
• Statyczna analiza kodu – reguły FxCop związane z wydajnością
- SYSTEM.DIAGNOSTICS • Atrybuty debugger-a – kontrola wyświetlania typu, proxy dla typu, wizualizatory
• Przeglądanie procesów i wątków
• Uzyskanie śladu stosu wykonania (stack trace)
• Odmierzanie czasu z wykorzystaniem Stopwatch
- TYPY OD ŚRODKA – typy referencyjne - obiektowe (Reference Types) oraz typy wartościowane (ValueTypes)
• Przegląd różnic między typami referencyjnymi, a typami wartościowanymi
• Implementacja typów - Type Object Pointer, Sync Block Index
• Metody wirtualne – wywoływanie metod wirtualnych, a nie wirtualnych
• Metody typów wartościowanych odziedziczone z typów Object i ValueType – Equals i GetHashCode
- GARBAGE COLLECTION – mechanizm .NET automatycznego zwalniania nieużywanej pamięci
• Porównanie technik Garbage Collection- zliczanie referencji, kopiowanie, śledzenie
• Model pierwszy: zarządzana sterta (Managed Heap) – wskaźnik następnego obiektu, odmiany GC, zawieszenie wątku
• Model drugi: generacje
• Model trzeci: segmenty GC
• Oddziaływanie z GC – kod zarządzany i natywny
• Finalizacja – finalizacja, wskrzeszanie (resurrection), wzorzec Dispose
• Słabe referencje (Weak References)
• Najlepsze praktyki GC
- TYPY GENERYCZNE
• Klasy, interfejsy i metody generyczne
• Kolekcje generyczne
• Implementacja typów generycznych w trakcie wykonania – typy generyczne i mechanizm Reflection, implementacja typów generycznych Java, implementacja szablonów C++
- KOD UNSAFE (operujący na wskaźnikach) oraz C++/CLI
• Kod unsafe – wskaźniki, kompilacja z przełącznikiem /unsafe, wyrażenie fixed
• C++/CLI – podstawy składni, klasy, delegaci, typy generyczne
- KOLEKCJE
• Dobór odpowiedniej kolekcji, cache CPU, stronicowanie
• Implementowanie kolekcji – właściwe implementowanie interfejsów, radzenie sobie z ograniczeniami, ostrożne użytkowanie automatycznych iteratorów
|
|
|
|
|