Ławka
NBench , skrót od Native mode Benchmark , a później znany jako BYTEmark , to program do testów porównawczych obliczeń syntetycznych opracowany w połowie lat 90. przez nieistniejący już magazyn BYTE , przeznaczony do pomiaru szybkości procesora , FPU i systemu pamięci komputera .
Historia
NBench jest zasadniczo wydaniem 2 programu porównawczego BYTEmark BYTE Magazine (wcześniej znanego jako BYTE's Native Mode Benchmarks), opublikowanego około 1995 roku, czyli zaledwie kilka lat przed zaprzestaniem publikacji magazynu. NBench jest napisany w C i początkowo koncentrował się na komputerach PC z systemem operacyjnym Microsoft Windows . Niezależnie od BYTE, w 1996 roku NBench został przeniesiony na Linuksa i inne odmiany Uniksa przez Uwe F. Mayera. Niedawno Ludovic Drolez przygotował aplikację NBench na Androida system operacyjny urządzenia mobilnego. NBench nie należy mylić z podobnie nazwanym, ale niepowiązanym AMD N-Bench.
Projekt
Zestaw algorytmów NBench składa się z dziesięciu różnych zadań:
- Sortowanie numeryczne — sortuje tablicę długich liczb całkowitych.
- Sortowanie ciągów — sortuje tablicę łańcuchów o dowolnej długości.
- Bitfield — wykonuje różne funkcje manipulacji bitami.
- Emulowany zmiennoprzecinkowy — mały pakiet oprogramowania zmiennoprzecinkowego .
- Współczynniki Fouriera - procedura analizy numerycznej służąca do obliczania serii przybliżeń przebiegów.
- Algorytm przydziału — dobrze znany algorytm przydziału zadań.
- Kompresja Huffmana - Dobrze znany algorytm kompresji tekstu i grafiki.
- Szyfrowanie IDEA - Stosunkowo nowy algorytm szyfrowania blokowego.
- Sieć neuronowa - Mały, ale funkcjonalny symulator sieci ze wsteczną propagacją.
- Dekompozycja LU — solidny algorytm rozwiązywania równań liniowych.
Przebieg pakietu porównawczego składa się zasadniczo z dwóch faz dla każdego z testów. Najpierw uruchamiana jest pętla kalibracji, aby określić rozmiar problemu, z jakim system może sobie poradzić w rozsądnym czasie, aby dostosować się do coraz szybszego dostępnego sprzętu komputerowego. Po drugie, rzeczywisty test jest powtarzany kilka razy, aby uzyskać statystycznie znaczący wynik.
Pierwotnie NBench i BYTEmark stworzyły dwa ogólne indeksy: indeks całkowity i indeks zmiennoprzecinkowy. Indeks całkowity jest średnią geometryczną tych testów, które obejmują tylko przetwarzanie liczb całkowitych — sortowanie numeryczne, sortowanie łańcuchowe, pole bitowe, emulowane operacje zmiennoprzecinkowe, przypisanie, Huffman i IDEA — podczas gdy indeks zmiennoprzecinkowy jest średnią geometryczną tych testów, które wymagają koprocesora zmiennoprzecinkowego — Fouriera, sieci neuronowej i dekompozycji jednostek logicznych. Indeks przedstawia względne wyniki, które pozwalają uzyskać ogólne odczucie wydajności testowanej maszyny w porównaniu z podstawowym systemem opartym na procesorze Pentium Intel 90 MHz.
Port Linux/Unix ma drugą podstawową maszynę, jest to AMD K6/233 z 32 MB RAM i 512 KB pamięci podręcznej L2 z Linuksem 2.0.32 i GNU gcc w wersji 2.7.2.3 i libc-5.4.38. Oryginalny indeks liczb całkowitych został podzielony na operacje na liczbach całkowitych i indeks operacji na pamięci, zgodnie z sugestią Andrew D. Balsy, odzwierciedlając świadomość, że zarządzanie pamięcią jest ważne w projektowaniu procesora. Oryginalne testy zostały pozostawione same sobie, jednak średnia geometryczna testów sortowania numerycznego, emulacji zmiennoprzecinkowej, IDEA i Huffmana stanowi teraz indeks wzorcowy skoncentrowany na arytmetyce liczb całkowitych, podczas gdy średnia geometryczna testów sortowania łańcuchowego, bitfield, a przypisanie tworzy nowy indeks pamięci. Indeks zmiennoprzecinkowy został pozostawiony w spokoju, nadal jest średnią geometryczną dekompozycji Fouriera, sieci neuronowej i LU.
Używać
Zestaw testów porównawczych był stale używany od połowy lat 90. przez społeczność komputerów osobistych na komputerach PC i innych urządzeniach z różnymi odmianami systemu UNIX, w tym Linux lub BSD , lub z systemem Windows (zwykle w połączeniu z Cygwin ), a także na komputerach Mac ( jest w szczególności dostępny jako port Darwina ). Strona wyników z uruchomień na wielu różnych konfiguracjach sprzętowych, od serwerów wieloprocesorowych o dużej mocy po przełączniki sieciowe o niskim poborze mocy, jest utrzymywana przez oryginalnego portera.
niedociągnięcia
Używanie NBench jako punktu odniesienia ma pułapki:
- Te testy porównawcze mają na celu ujawnienie teoretycznej górnej granicy architektury procesora, jednostki FPU i pamięci systemu. Nie mogą mierzyć przepustowości wideo, dysku ani sieci (są to domeny innego zestawu testów porównawczych).
- NBench jest jednowątkowy. Obecnie każdy test porównawczy wykorzystuje tylko jeden wątek wykonania. Jednak większość nowoczesnych systemów operacyjnych zawiera komponent wielozadaniowości. To, w jaki sposób system „skaluje się”, gdy więcej zadań jest uruchamianych jednocześnie, jest efektem, którego NBench nie bada.