Systemy operacyjne

Wydajność

przeczytasz w 5 min.

Pomiar wydajności tak złożonego oprogramowania, jakim jest system operacyjny jest sprawą wysoce skomplikowaną, gdyż nie jesteśmy w stanie rozdzielić różnych czynników wpływających na szybkość pracy komputera. Testy wydajności opublikowane tuż po wprowadzeniu Visty do sprzedaży z pewnością stawiają ją w gorszym świetle niż powinny, ze względu na niedojrzałość sterowników. Z drugiej strony niemal pewnym wydaje się fakt, że Vista będzie nieco wolniejsza od XP ze względu na różnicę w objętości kodu. Sprawa wydajności Visty mogłaby sama w sobie być tematem niejednego artykułu, dlatego siłą rzeczy zostanie omówiona powierzchownie.


            Jak zdefiniować ogólną wydajność systemu? Najprościej można rozumieć ją jako szybkość wykonywania procedur mierzących ów parametr. W rzeczywistości sprawa nie jest tak prosta, gdyż Microsoft zarówno w Viście, jak i XP zastosował szereg zabiegów poprawiających odczuwalne wrażenie prędkości systemu. Na przykład doładowywanie niektórych usług już po zalogowaniu się i wyświetleniu pulpitu - wrażenie szybkiego uruchamiania systemu jest spotęgowane, dopóki nie zirytujemy się głuchym przez kilka(naście) sekund przyciskiem Start. Układanie plików w odpowiedniej kolejności w celu skrócenia startu też jest tego typu zabiegiem, podobnie jak buforowanie najczęściej używanych bibliotek i aplikacji. Oczywiście nie krytykujemy tego podejścia, wskazujemy tylko, że niekoniecznie przekłada się ono na punktację w benchmarkach mierzących szybkość wykonywania określonego kodu.

Wymagania sprzętowe. Zalecana konfiguracja dla Visty wyższej niż Basic, to według producenta:

  • procesor 1 Ghz
  • 1 GB pamięci operacyjnej
  • 15 GB miejsca na dysku

    Uruchomienie Aero Glass możliwe jest po spełnieniu dodatkowych wymagań odnośnie podsystemu graficznego:
  • zgodność z DirectX 9
  • 128 MB pamięci graficznej
  • sterownik WDDM
  • Pixel Shader 2.0
  • 32-bitowy kolor.

Ciekawie prezentuje się porównanie wydajności procesorów potrzebnych do działania różnych edycji Windows.

Powyższy wykres ilustruje różnicę czasu kodowania pewnego pliku WAV do MP3 za pomocą kodeka LAME. Słupki od najdłuższego reprezentują odpowiednio Pentium 100 (Windows 98), Pentium II 300 (Windows XP), Pentium III 1000 (minimalny zalecany dla Visty) oraz użyty przez nas dwurdzeniowy Core Duo 1833. Na potrzeby stworzenia tego wykresu skorzystaliśmy z danych Tomshardware dla procesorów desktopowych i mobilnych. Takie porównanie powinno dać nam nieco do myślenia - czy rzeczywiście na dzisiejszym wielordzeniowym CPU nasza produktywność wzrosła tysiąckrotnie? Ale porzućmy ten rachunek sumienia i wróćmy do wydajności Visty.

Start systemu. Na testowej maszynie Vista początkowo startowała znacznie dłużej niż XP. Po pewnym czasie czas potrzebny na uruchomienie komputera znacznie się skrócił, uzyskując wartość porównywalną do Windows XP. Co prawda XP wyposażony był w całą gamę oprogramowania ochronnego, ale mimo wszystko osiągnięty przez Microsoft efekt można uznać za zadowalający, jeśli uwzględnimy dysproporcję między omawianymi systemami w ilości ładowanych danych. Poczynione obserwacje każą przypuszczać, że funkcja Superfetch (następca obecnego w XP Prefetch) rzeczywiście została ulepszona w stosunku do poprzednika. Jednak zapewnienia Microsoftu o niezwykłym przyspieszeniu startu Visty wydają się jedynie czczymi przechwałkami.

Pamięć. Wielu użytkowników Windows XP zgodzi się z tym, że system ten niezbyt dobrze wykorzystuje pamięć komputera. Uruchomiony na komputerze z 256 MB pamięci ślimaczy się niezmiernie, 512 MB znacznie go ożywia, ale 1024 zdaje się wyzwalać jakiś stan nieśmiałości. XP po prostu marnuje nadmiarową pamięć - pogoń za minimalizacją jej zużycia objawia się niepotrzebnym korzystaniem z pliku stronnicowania, podczas gdy obszerne megabajty RAM-u "leżą odłogiem". Vista za to aż nazbyt śmiało pogrywa sobie z pamięcią operacyjną. Nie tylko sama w sobie zajmuje około pół gigabajta, ale jeszcze intensywnie i - jak zapewnia Microsoft - inteligentnie wykorzystuje ją do buforowania danych dyskowych. Inteligencję Vista zawdzięcza technologii Superfetch, która nie tylko próbuje minimalizować czas startu systemu, ale również na podstawie obserwacji naszego stylu pracy wybiórczo buforuje aplikacje, które często uruchamiamy. Do efektywnego działania Superfetch potrzeba przynajmniej 1 GB pamięci. Z pewnością nie zaszkodzi podwojenie tej wartości, co w przypadku nowych desktopów nie powinno stanowić większego problemu.
           
Podczas codziennej pracy z komputerem nie dostrzegliśmy przyspieszonego uruchamiania aplikacji, co nie znaczy, że tego przyspieszenia nie było. Być może Superfetch w sposób bardziej zauważalny objawia swoją skuteczność w specyficznych warunkach. Na przykład podczas otwierania którejś z ulubionych aplikacji w momencie znacznego obciążenia dysku. Trzeba też wziąć pod uwagę fakt, że kopiowanie danych przeznaczonych do buforowania z pamięci dyskowej do operacyjnej również zajmuje trochę czasu - tym samym dobrodziejstwa wynikające z buforowania niekoniecznie muszą być dostępne tuż po starcie systemu.

ReadyBoost. Windows Vista umożliwia wykorzystanie zewnętrznej pamięci USB jako dodatkowej przestrzeni dla pamięci wirtualnej. Dane tam zapisywane są szyfrowane oraz kompresowane. Szybkie pamięci flash podłączone do interfejsu USB drugiej generacji charakteryzują się około 10-krotnie lepszym czasem dostępu do danych niż najszybsze twarde dyski. Tym samym losowy odczyt małych zbiorów powinien zachodzić szybciej z pamięci flash niż z "twardziela". ReadyBoost może zyskać szczególne uznanie posiadaczy laptopów, których twarde dyski na ogół nie są zbyt wydajne, a płyty główne najczęściej dysponują tylko dwoma slotami na RAM (które mogą być już wypełnione kośćmi ze względu na zysk z dwukanałowej obsługi pamięci). Trudno powiedzieć jak ReadyBoost wpływa na żywotność pamięci flash - wykorzystanie jako pamięć wirtualna wiąże się ze znacznie zwiększonym obciążeniem w porównaniu ze standardową funkcją nośnika na dokumenty. Ciekawy test efektywności ReadyBoost znaleźć możemy na AnandTech. Decyzję, czy warto poświęcać pamięć przenośną, by przyspieszyć start konkretnej aplikacji z 7 do 5 sekund pozostawiamy czytelnikom.

ReadyDrive. Vista potrafi wykorzystać zalety dysków hybrydowych - łączących w sobie pamięć flash ze standardowym magnetycznym dyskiem twardym.

Zróżnicowanie priorytetów I/O. Vista wprowadza zróżnicowanie w pierwszeństwie dostępu do dysku w przypadku niektórych aplikacji działających w tle. Takimi aplikacjami są na przykład Windows Defender, indeksowanie, czy automatyczna defragmentacja. Stwarza to potencjalną możliwość zwiększenia responsywności systemu.

Hibernacja. Vista posiada unowocześniony model usypiania komputera w stosunku do Windows XP. W momencie uśpienia dane z pamięci operacyjnej przepisywane są na dysk, jednocześnie zawartość pamięci RAM podtrzymywana jest jeszcze przez pewien czas. W efekcie udało się połączyć zalety dostępnych w XP usypiania i hibernacji. Pierwsza z nich gwarantuje bardzo szybkie "przebudzenie" systemu, druga zabezpiecza w razie awarii zasilania.

Automatyczna defragmentacja. Microsoft deklaruje, że defragmentacja w nowym systemie zachodzi automatycznie, w okresach bezczynności komputera. Producent nic nie wspomina o zbiorach tradycyjnie kłopotliwych do defragmentacji, takich jak pliki stronnicowania czy rejestru. Interfejs programu do defragmentacji uległ dalszemu zubożeniu i nie prezentuje już graficznie stanu zbiorów na dysku.

Surowa moc. Od wielu miesięcy w sieci roi się od spekulacji o wydajności Visty. Na chwilę obecną nowy Windows nie wydaje się być szczególnie atrakcyjny dla graczy z dwóch względów. Po pierwsze, zwykle gry pod Vistą osiągają co najwyżej tyle klatek, co pod XP, częściej jednak o kilka do kilkunastu procent mniej. Przykładem niech będzie choćby test wykonany przez serwis HardOCP. Po drugie, ciągle niewiele jest gier korzystających z DX10. Rozpowszechnienie nowej wersji DirectX z pewnością odciągnie wielu graczy od XP. Można też przypuszczać, że z biegiem czasu  producenci sprzętu będą coraz więcej sił przerzucać na pisanie sterowników dla Visty kosztem starszych wersji Windows. Może to zaowocować stopniowym zmniejszaniem przepaści wydajnościowej między tymi systemami.
Z ciekawości, i żeby nie polegać jedynie na wynikach innych serwisów, wykonaliśmy pomiar wydajności maszyny testowej pracującej z Vistą i XP na pokładzie (laptop z CoreDuo 1833 MHz, 1 GB RAM, dysk 100 GB 5400 rpm, grafika Intel GMA 950).

Wyniki zostały przeskalowane tak, aby rezultat XP zawsze stanowił 100% (niebieska linia), dzięki czemu łatwiej możemy dostrzec różnice wydajności pomiędzy badanymi systemami. Jak widać, w większości przypadków są one niewielkie, jednak nie da się ukryć, że nowy system Microsoftu działa nieco wolniej od starszego brata. Różnice nie są tak dramatyczne jak w przypadku gier, ale widać, że któreś z funkcji Visty "kosztują" sporo cykli procesora, co odbija się na uzyskiwanych wynikach. Znów powtarza się więc sytuacja, jaką mieliśmy podczas porównań Windows 2000 i XP. Z drugiej strony, biorąc za dobrą monetę zapewnienia Microsoftu o lepszym wsparciu dla wielordzeniowych CPU w Viście, może okazać się, że XP zostałby pokonany na procesorze 4-rdzeniowym. Poczekamy, zobaczymy... Faktem jest, że Vista nie działa z zadowalającą wydajnością na większym odsetku pecetów, niż miało to miejsce podczas wchodzenia na rynek (też pogardzanego niegdyś) Windows XP. Trudno się więc dziwić nasilonym krytykom, bo i skok wymagań między XP a Vistą jest znacznie większy niż między XP a 2000.