1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
styczeń luty marzec
kwiecień maj czerwiec
lipiec sierpień
wrzesień październik
listopad grudzień
Ostatnie 20 wpisów...
PDC (Professional Developer Conference 2008) - PERFORMANCE BY DESIGN USING THE .NET FRAMEWORK
Wpis z dnia: 2008-10-27, z godziny: 05:24

"Presesja" składała się z kilku części. Na początku, prelegent pokazał, w jaki sposób "wpleść" elementy związane z wydajnością w cały cykl prowadzenia projektu i jak uczulić zespół na zagadnienia związane z prędkością działania systemu.
Potem pokazane były pewne elementy związane z konkretnymi elementami CLR (motoru .NET). W jaki sposób można optymalizować aplikację pod kątem prędkości działania a także - jak optymalizować zużycie pamięci (dużo uwag o działaniu GC i dzieleniu pamięci). Pod koniec dnia prelegenci skupili się nad aplikacjami ASP.NET i omówili dosyć szczegółowo zarówno sposób działania serwera WWW, jak mierzyć tego typu aplikacje i jak je poprawić by działały szybciej.
Poniżej kilka luźnych (jeszcze nieuporządkowanych) uwag związanych z analizą wydajności :

Jeżeli wydajność aplikacji nie jest mierzona, to nie bardzo wiadomo czy system działa szybciej/wolniej. A, jak wspominał prowadzący inżynierowie powinni mierzyć (pomiarów nie wykonują artyści). Zdefiniowanie "bazowej" wydajności pozwoli na dalsze prace.

Jeżeli budowany jest system na "zlecenie" klienta, to warto cały czas mieć przed oczami jego rzeczywiste wymagania. Jakie elementy naprawdę muszą działać szybko, które są mniej krytyczne i dlaczego.

Nie warto także zabierać się do "optymalizacji" bez określenia budżetu jaki na to można przeznaczyć - co ściśle wiąże się z wymaganiami klienta. Skupiamy się tak naprawdę na "big4" - czyli na optymalizacji zużycia pamięci, procesora, dysku i sieci. Jeżeli optymalizujemy, to musimy brać pod uwagę istniejące ograniczenia zasobów. Ale czasami - jednym ze sposobów optymalizacji może być po prostu zwiększenie zasobów (choć - w niektórych sytuacjach się technicznie nie da tego zrobić).

Jeżeli analizujemy wydajność modelujemy dane tak by one przypominały te, z jakimi mamy do czynienia w realnym środowisku działania aplikacji (inna jest charakterystyka wydajnościowa tablicy gdy elementów jest 1000 a inna - gdy 10 mln).

System przede wszystkim powinien być użyteczny. Nadmierna "rozszerzalność", budowa uniwersalnych frameworków tam gdzie nie jest to wymagane powoduje, że system działa wolno. Podobnie ma się rzecz w przypadku zbyt "obiektowej" struktury aplikacji. Wtedy, w wielu miejscach dane są powielane, konwertowane, różnego rodzaju "konstruktory kopiujące" wiele razy obrabiają niepotrzebnie ten sam zestaw informacji. Warto zachować umiar i zdrowy rozsądek.

Platforma .NET budowana jest przy pewnych założeniach. Na przykład, że większość obiektów żyje krótko (tak zakłada Garbage Collector - automatyczny odśmiecacz). Jeżeli twórca aplikacji przyjmie inne założenia - to jego system będzie działał wolno....

Kod jittowany nie jest dzielony. Jest to kod dynamiczny. Czyli - jeżeli chce się mieć współdzielony kod, to należy użyć NGEN i/lub GAC (ale to ma także inne konsekwencje). Tu mają się zmienić pewne elementy w .NET 4.0.
Natomiast z natury kod niezarządzany (zwykłe DLL-ki) istnieją w jednej kopii równocześnie. Dotyczy to także .NET. Czyli w pamięci np. jest tylko jedna kopia bibliotek .NET Framework.
/CDN/

Komentarze:
Redakcja Computerworld nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.
Ten wpis nie ma jeszcze żadnych komentarzy. Twój może być pierwszy...
Liczba zatwierdzonych komentarzy: 0      dodaj swój komentarz  

Korzystanie z serwisu Bywalec Computerworld jest jednoznaczne z wyrażeniem zgody na następujące warunki obsługi. Regulamin korzystania z serwisu. Serwis realizuje wytyczne ASME oraz uzupełnienia IDG dotyczące zasad publikacji w mediach elektronicznych.
© copyright 2010 IDG Poland SA
04-204 Warszawa ul. Jordanowska 12
tel. (+48 22) 321 78 00  fax (+48 22) 321 78 88