PC Press: Testirajte Office
Tipičan korisnik Office programa ne spada u one koji jure za izrazitom snagom svoje platforme: za većinu nas je bitnije da platforma bude stabilna i pouzdana. Međutim, niko od nas nije gadljiv na dodatnu snagu računara, pogotovo ako postoji potreba za intenzivnijom obradom podataka. U tom slučaju, više memorije, jači procesor ili brži disk mogu da pruže čak i značajnu uštedu u vremenu. Na Internetu ćete lako pronaći razne bencmark programe koji numerički izražavaju razne aspekte snage vašeg računara. Vista i Windows 7 su uveli i sopstvene indekse performansi (koje smo naučili da tumačimo kako kome odgovara, ali ko će svetu ugoditi).
Subjektivni osećaj i dalje više znači korisniku Office programa: nije sve ni u brzini, pokazalo se kada su višejezgarni procesori sa sporijim taktom pokazali bolje ukupne performanse od starijih a bržih procesora sa jednim jezgrom. Mnogi procesi u Office programima zavise od performansi jednog jezgra; tek je Excel 2007 uneo novinu u vidu modela simultane primene više jezgara za proračun u više niti (potražite opciju u dijalogu Options > Advanced). Ako koristite intenzivne statističke proračune u Excel-u, pa vam sistem zbog toga zastajkuje, izolujte procese na manje jezgara od broja raspoloživih.
Za letnju razbibrigu, u nastavku je VBA makro koji sam našao negde na Mreži. Zadatak makroa je da vam da okvirnu predstavu o snazi vašeg računara u Office primenama. Makro će raditi u jednom jezgru procesora i samo će iskazati koliko mu je vremena trebalo da generiše i ispita sto miliona slučajnih brojeva. Bez brige, neće to trajati dugo: moj trenutni stoni računar (Quad Q8200 na 2,33 GHz) izvrti ovaj makro prosečno za oko 7,6 sekundi; mom starom Pentium-u 4 koji radi na 3 GHz treba prosečno oko 14,1 sekundi. Novi računari iz gornje klase bi trebalo da obrnu ovu petlju za manje od pet sekundi.
Benchmark test za Office okruženje:
Sub TestMakine1()
‘ 100 miliona sluèajnih brojeva u petlji
Dim x As Long
Dim PocVreme As Single
Dim i As Long
Const Polovina As Single = 0.5
x = 0
PocVreme = Timer
For i = 1 To 100000000
If Rnd <= Polovina Then x = x + 1 Else x = x – 1
Next i
MsgBox Timer – PocVreme & " sekundi"
End Sub