Wszystko da się zmierzyć

Niezależnie od tego, jak szybki jest Twój komputer, zawsze warto sprawdzić, czy komputer Twojego sąsiada lub kolegi zupełnym przypadkiem nie jest jeszcze szybszy. Posłużyć do tego mogą opisane w tym artykule programy testujące wydajność komputera jako całości lub jego poszczególnych komponentów.

Niezależnie od tego, jak szybki jest Twój komputer, zawsze warto sprawdzić, czy komputer Twojego sąsiada lub kolegi zupełnym przypadkiem nie jest jeszcze szybszy. Posłużyć do tego mogą opisane w tym artykule programy testujące wydajność komputera jako całości lub jego poszczególnych komponentów.

SYSMark2002 jest bardzo dobrym programem testującym, jednak trzeba zapłacić 
aż 200 dolarów, żeby móc z niego skorzystać.

SYSMark2002 jest bardzo dobrym programem testującym, jednak trzeba zapłacić

aż 200 dolarów, żeby móc z niego skorzystać.

Programy testujące nabrały szczególnego znaczenia, gdy poszczególni producenci najważniejszych z perspektywy wydajności komponentów zaczęli podążać własnymi, często bardzo odmiennymi ścieżkami. Nie wystarczy już bowiem rzut oka na specyfikację, aby uszeregować produkty pod względem szybkości ich działania. Mylące mogą być parametry takie jak mega- i gigaherce, liczba obrotów czy liczba KB/s. Jedynym realnym sposobem na porównanie produktów jest poddanie ich możliwie standaryzowanym i obiektywnym procedurom testowym. Aby spełniony został warunek obiektywności, zastosowane programy testujące muszą odpowiadać bardzo wyśrubowanym kryteriom.

Niestety, praktycznie nie ma dzisiaj programów mierzących wydajność, których wyniki można uznać za całkowicie wiarygodne. Praktycznie odeszliśmy od stosowanych kilkanaście lat temu miar wydajności, takich jak Dhrystones czy Whetstones (sprawdzających liczbę prostych operacji wykonywanych w ciągu sekundy). Zamiast tego pojawia się coraz więcej niezwykle rozbudowanych benchmarków, często zajmujących kilkadziesiąt megabajtów, z których każdy podobno najlepiej oddaje "rzeczywiste wzorce wykorzystania komputera".

To ostatnie twierdzenie jest zresztą najpopularniejszym uzasadnieniem wypuszczania stale nowszych wersji. Coraz poważniejszym problemem jest to, że poszczególne benchmarki wykorzystują nowe technologie, wprowadzone przez producenta A, ale czasami nie potrafią zrobić użytku z alternatywnej technologii producenta B. Jeśli kod programu testującego został zoptymalizowany pod kątem pewnego rozwiązania sprzętowego, wówczas wyniki uzyskane za pomocą takiego programu mogą być zupełnie nieadekwatne do możliwości konkurencyjnego rozwiązania.

Problemy z benchmarkami, które nie wykorzystują możliwości danego urządzenia, wielokrotnie prowadziły do całkowicie mylnych wniosków. Przykładem jest choćby słynny test Pentium 4, opublikowany przez witrynę www.tomshardware.com zaraz po premierze tego procesora. Użyto m.in. programu FlaskMPEG, który wówczas zdecydowanie lepiej wykorzystywał procesory firmy AMD. W związku z tym Pentium 4 wypadł dużo poniżej oczekiwań. Po kilku dniach pojawiła się zmodyfikowana wersja FlaskMPEG, która nieco zmieniła wyniki. Jeszcze kilka dni później FlaskMPEG został skompilowany przez inżynierów Intela za pomocą kompilatora optymalizującego kod pod kątem Pentium 4. W efekcie w ciągu kilku dni autorzy testu musieli kilka razy zmieniać wnioski na temat Pentium 4.

Niektóre benchmarki są z założenia przygotowane pod kątem określonego producenta (np. NVIDII) i powinny służyć do porównywania tylko jego produktów, natomiast wnioski na temat urządzeń innych wytwórców mogą być mylące (chociaż takie benchmarki często uruchamiają się na sprzęcie od różnych dostawców).

SiSoft Sandra to jeden z najpopularniejszych na świecie benchmarków systemowych, jednak wiarygodność niektórych wyników jest dyskusyjna.

SiSoft Sandra to jeden z najpopularniejszych na świecie benchmarków systemowych, jednak wiarygodność niektórych wyników jest dyskusyjna.

Innego typu problemy stwarzają sami producenci sprzętu, którym zależy, aby ich produkty wypadały jak najlepiej w popularnych programach testujących. Takie dążenie jest oczywiste, ale nie może uzasadniać niezbyt etycznych zabiegów, na jakie decydują się niektórzy wytwórcy. Niedawno głośno było np. o kartach graficznych ATI z układem Radeon 8500. Sterowniki do tej karty celowo i zdecydowanie obniżały jakość tekstur w grze Quake III Arena, dzięki czemu wyniki wydajności były bardzo wysokie (ale kosztem dużo słabszej niż u konkurentów jakości obrazu). Wiele wątpliwości wzbudzał również program 3DMark, służący swego czasu do badania wydajności kart graficznych.

Czy zatem w ogóle da się w obiektywny sposób zmierzyć wydajność komputera? Na pewno nie ma metody, którą można uznać za całkowicie poprawną. Można się natomiast zbliżyć do prawidłowych konkluzji, stosując wiele rozmaitych benchmarków i każdemu z nich przypisując odpowiednio małą wagę cząstkową.

W ten sposób minimalizujemy ryzyko błędu związanego z poszczególnymi testami. Natomiast urządzenie, które wygrywa większość pomiarów w swojej grupie, jest najprawdopodobniej najlepsze. Ta idea przyświeca m.in. większości testów przeprowadzanych w laboratorium PC Worlda.

Oceniając wiarygodność benchmarków, należy się kierować przede wszystkim zdrowym rozsądkiem. W wielu przypadkach nie mamy żadnego dostępu do kodu źródłowego, aby sprawdzić, co rzeczywiście dany program mierzy. Z tego względu duża wiedza na temat cech badanych urządzeń poważnie ułatwia weryfikowanie jakości programów testujących. Są oczywiście chwalebne wyjątki od tej zasady, np. benchmarki rozwijane na zasadzie licencji OpenSource. Możemy wówczas przeanalizować kod źródłowy, aby samodzielnie ocenić, czy zastosowane procedury testowe są wiarygodne. Mamy też wówczas szansę własnoręcznie skompilować taki benchmark, uwzględniając wszelkie opcje optymalizujące kod wynikowy pod kątem konkretnego urządzenia.

Jeśli nie mamy dostępu do kodu źródłowego, powinniśmy sprawdzić, czy benchmark daje powtarzalne wyniki. Zakładając, że potrafimy zapewnić całkowicie powtarzalne środowisko testowe, różnice w wynikach kolejnych pomiarów powinny się mieścić w granicach błędu statystycznego. Przykładowo, jeśli w jednym teście w grze Quake III Arena osiągamy wynik 180 klatek/s, a w drugim 182, nie dowodzi to, że nasz komputer stał się nagle szybszy. Jeśli jednak w drugim teście wynik skoczy do 200 klatek/s, to albo źle skonfigurowaliśmy test i błędnie przeprowadziliśmy pomiar, albo po prostu program testowy nie jest godny uwagi. Wyjątek stanowią testy przeprowadzane w warunkach, na które mamy mniejszy wpływ - np. urządzeń sieciowych w skomplikowanych konfiguracjach sieciowych. Wówczas różnice mogą być większe, chociaż jeśli są zbyt duże, należy pomyśleć o zbudowaniu wydzielonej podsieci testowej.

Benchmarki systemowe

CPU RightMark 2002 rozwijany jest na zasadzie licencji OpenSource - możemy zawsze zajrzeć do kodu źródłowego i sprawdzić, co naprawdę program mierzy.

CPU RightMark 2002 rozwijany jest na zasadzie licencji OpenSource - możemy zawsze zajrzeć do kodu źródłowego i sprawdzić, co naprawdę program mierzy.

Wśród benchmarków systemowych można wyróżnić trzy podgrupy. W pierwszej znajdują się programy, których zadaniem jest możliwie całościowa ocena wydajności komputera, uwzględniająca, pośrednio lub bezpośrednio, większość podzespołów. Jako rezultat działania takiego programu otrzymujemy punktową ocenę, wskazującą, jak dobrze dany komputer powinien sobie poradzić z typowymi aplikacjami, niezależnie od ich charakterystyki.

Najbardziej znanym benchmarkiem tego typu jest niewątpliwie SYSMark2002, wykorzystywany przez większość liczących się magazynów komputerowych i serwisów internetowych. Ma jednak bardzo poważną wadę - żeby móc z niego korzystać, trzeba najpierw zapłacić około 200 dolarów. SYSMark2002 jest oparty na najnowszych lub prawie najnowszych wersjach rzeczywistych, komercyjnych aplikacji. Obejmuje programy biurowe, multimedialne i internetowe. Specjalnie przygotowane skrypty wykonują wiele operacji, uwzględniając przy tym sposób pracy typowego użytkownika (m.in. uruchamianie kilku programów jednocześnie).

Jednak ponieważ nie jest bezpłatny ani dostępny w wersji demonstracyjnej, trudno polecać go do testowania komputerów w domowym zaciszu. Gwoli precyzji opisu dodamy więc tylko, że SYSMark2002 nie podaje szczegółowych informacji o konfiguracji komputera.

Natomiast zdecydowanie najbardziej popularny benchmark systemowy z powszechnie dostępnych to SiSoft Sandra. Jest na rynku od wielu lat i zdążył zyskać sobie opinię przydatnego narzędzia diagnostycznego i benchmarkowego, chociaż wiarygodność niektórych testów podawana jest w wątpliwość. SiSoft Sandra zalicza się do drugiej podgrupy testów systemowych, w której znajdują się programy analizujące konfigurację i mierzące jej wydajność. To wprawdzie program komercyjny, ale wersja zawierająca podstawowe narzędzia dostępna jest bez opłaty dla prywatnych użytkowników. Zapłacić trzeba tylko wtedy, gdy chce się korzystać z zaawansowanych funkcji (m.in. niektóre pomiary) lub wykorzystywać wyniki do celów komercyjnych.


Zobacz również