art11











Benchmark procesora




Benchmark procesora
Procesor
to "serce" komputera. Zdarzają się takie sytuacje, kiedy jednak
megaherce (i już gigaherce) nie są wyznacznikiem mocy obliczeniowej komputera.
Różnice między AMD Duron (SpitFire) 600MHz, Intel Celeron (Coppermine 128)
600MHz a VIA Cyrix III (SamuelII) 600A MHz są ogromne. Produkt AMD jest o około
20% szybszy od Intelowskiej platformy, a Cyrix III jest o 60% wolniejszy od
Durona!
Jak
teraz, gdy nie mamy pod ręką testów z gazet, samemu sprawdzić wydajność
danej jednostki?
Możemy
napisać prostego, własnego Benchmarka, czyli test procesora.
Jak to
zrobić? Teoretycznie - dajemy procesorowi do pomnożenia nieskończoną ilość
liczb, wstrzymujemy mnożenie po 5 sekundach i sprawdzamy ile operacji
przeprowadził średnio w ciągu sekundy. Taki test jest optymalny dla każdej
jednostki.
 
Więc
do dzieła!
Tworzymy
nowy projekt i usuwamy z niego Form1, dodajemy moduł i z Project/Properities
ustawiamy aby program startował z Sub Main().
W
module piszemy:
 
Global CPoints
' globalnie deklarujemy zmienną która zapisze uzyskaną liczbę punktów

Sub main()
Dim BegSec As Single ' deklarujemy zmienną
zachowującą, kiedy (ilość sekund od północy) zaczęliśmy testować
Dim l1, l2 As Integer ' zmienne będące
przechowywać liczby losowo wybrane do mnożenia
Dim wyn ' ta zmienna przechowa chwilowo wynik mnożenia
l1*l2
Dim ilosc As Single ' ta zmienna przechowa ilość
operacji w ciągu 5 sekund
BegSec = Timer ' ustalenie zmiennej BegSec
Do ' początek pętli
l1 = Rnd * 1000 ' losowo wybieramy wartość dla l1
od 0 do 1000
l2 = Rnd * 2000 ' losowo wybieramy wartość dla l2
od 0 do 2000
wyn = l1 * l2  ' mnożymy
ilosc = ilosc + 1 ' uznajemy, że zadanie zostało
wykonane (mnożenie) i dodajemy do ilości działań 1
If Timer >= BegSec + 5 Then GoTo fintest ' jeśli
minęło 5 sekund to przejdzie do fintest
Loop ' powtórzenie
fintest: ' zakładka końca testu
CPoints = ilosc / 5 ' uzyskana liczba punktów jest
równa ilości działań dzielona przez czas w którym zostały wykonane
MsgBox "Procesor uzyskał " & CPoints & " punktów." '
informacja dla użytkownika o zdobytych punktach
End Sub 'koniec
 
Taki
malutki kod pozwala stwierdzić, czy procesor spełnia nasze wymagania, czy nie.
Dla informacji podam, że mój PII 266 osiągna 11765,6 punktów. Czyli zaokrąglając,
potrafi wykonać pod Windows ok. 12 tys. mnożeń losowo wybranych liczb na
sekundę.
Oczywiście
w czasie testu nie należy np. słuchać mp3 albo renderować w 3dsmax,
najlepiej wszystko co się da to wyłączyć, uruchomić program i czekać. W
tedy test odzwierciedli prawidłowe możliwości naszego PC.
Programik
przedstawiony powyżej to tylko "szkielet". Możemy wprowadzić jakiś
ładny interface, wykresy itp. ale należy pamiętać, że w czasie testu
najlepiej aby nic co wymaga wielu obliczeń procesora nie było uruchomione.
Prosty
przykład opracowania dla takiego szkieletu prezentuje moja malutka aplikacja - Doogie
Processor Benchmark.
Jeżeli
chcemy dodatkowo sprawdzić jakiej klasy zamontowany jest procesor w komputerze
to informację tą znajdziemy w rejestrze systemowym w 
"HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0" w
kluczu "Identifier".
Masz
jakieś pytania? Pisz na e-mail.
 
<-DoogiE->
marcin.porebski@interia.pl

 








Wyszukiwarka

Podobne podstrony:
ART11 (4)
art11
art11 budowa domu na skarpie
art11
ART11 (3)
art11
art11
ART11
ART11 (7)

więcej podobnych podstron