Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ===== Profilowanie w VS - ćwiczenia ===== - Połącz się z projektem zespołowym ''npr'' w kolekcji ''sandbox'' i pobierz projekt ''Slownik'' (także do pobrania {{zajecia:npr:src:slownik.zip|Tutaj}}). - Przetestuj działanie aplikacji na przykładowych plikach wejściowych. Program tworzy słownik (unikatową, posortowaną listę słów) na podstawie dowolnego pliku tekstowego. Wygeneruj słownik i wyeksportuj jego zawartość do pliku tekstowego. - Uruchom profilowanie aplikacji w trybie ''Instrumentation'' (ten tryb nie wymaga uprawnień administratora) **Analize -> Performance and Diagnostics** - Przeanalizuj wyniki w celu wykrycia funkcji, których wykonanie zajmuje najwięcej czasu i spróbuj przyśpieszyć ich działanie. - Wyselekcjonuj tylko wybrany fragment przebiegu profilowania (''Filter by Selection'') i znajdź najdłużej wykonywaną funkcję (''Hot Path'') - Po wykonaniu poprawek uruchom proces profilowania ponownie. - Porównaj wyniki uzyskane w kolejnych procesach profilowania - Utwórz nową sesję analizy wydajności i skonfiguruj ją w taki sposób aby raport uwzględniał analizę pamięci * Wybierz **Analize -> Profiler -> New Performance Sesion** * W oknie ''Performance Explorer'' zaznaczając nową sesję prawym klawiszem myszy wybierz ''Preferences'' i ustaw tryb ''Instrumentation'' wraz z ''Collect .NET object allocation information'' * W pozycji ''Targets'' wybierz (prawy klawisz myszy) aktualny projekt jako cel analizy * Uruchom analizę i zlokalizuj funkcję rezerwującą najwięcej pamięci - Dla wybranej aplikacji z zajęć WPF lub Aplikacje Universalne przeprowadź analizę obciążenia CPU oraz pamięci za pomocą narzędzi dostępnych w VS2015 * Analiza wykonywana wraz z debbugerem: ustaw punkty przerwań w kilku miejscach aplikacji i porównaj zawartość sterty pomiędzy tymi miejscami * Analiza bez debbugera: uruchom analizę Aplication Timeline i zaobserwuj, które elementy UI odpowiedzialne są za najbardziej obciążające CPU obliczenia