Blog.hr

Tko je brži?


U licenci za Windows Server 2003 stoji da je objavljivanje rezultata bilo kojeg benchmark testa .NET okosnice (frameworka ;-) ) od strane treće strane, bez prethodnog odobrenja od strane Microsofta, zabranjeno. Sumnjam da će Microsoft odobriti testove koji idu njima na štetu. Po dobrom starom običaju Microsoft će i dalje unajmljivati nezavisne tvrtke, za koje nitko nije čuo, a koje su 'vodeće u svijetu po konzaltingu i istraživanju', da im naprave testove u kojima suparnički proizvodi nikada neće biti ni do koljena superiorinim MS produktima.

Znate onu staru? Postoje laž, prokleta laž i statistika. Poslije statistike dolazi još i benchmark. Sigurno vam je već poznata priča o tome kako su ATI i Nvidia 'optimizirali' drivere kako bi postigli bolje rezultate. Benchmark se prokurvao (ne prostačim, citiram naše stare) i potpuno podvrgnuo marketinškom stroju.

Za one skromnije informatičke naobrazbe slijedi malo objašnjenje: benchmark je mjerenje u kojem se mjeri koliko će se puta neka operacija izvršiti ili koliko se zahtjeva može obraditi u određenoj jedinici vremena. Ili se definira broj zahtjeva pa se mjeri koliko je vremena potrebno za njihovo izvršavanje. Igre najčešće mjere koliko će se slikica (frameova) prikazati u sekundi. Postoje supermeni koji tvrde da mogu primjetiti razliku između 75 i 80 slika u sekundi, ali suvremena medicina ih demantira. Naručeni testeri najčešće znaju što treba testirati da se proizvod naručitelja testa pokaže bržim i boljim. Zamislite da se organizira utrka kroz šumu i svaki natjecatelj dobije određeni put kojim mora proći. Sve staze su iste dužine. Među natjecateljima su i Kenijci i jasno je da su oni glavni favoriti za pobjedu. Ali organizator utrke njima je zadao put kroz močvarno trnje i šipražje dok naš debeljuškasti natjecatelj trči po savršeno ravnom i dobro održavanom šumskom putu. Još je na njemu i mala nizbrdica prije cilja tako da mu je lakše odraditi završni sprint. Naš natjecatelj pobijedi i štampa cijelog svijeta se raspiše o tome kako je debeljko pobijedio najbrže.

Microsoft će zacijelo reći da je spomenuta stavka u ugovoru zbog toga da se spriječi rušenje ugleda i netočno prikazivanja njihovog proizvoda u raznim nestručnim i dirigiranim testovima. Ta tvrdnja ne drži vodu jer je upravo Microsoft poznat po takvim testovima. A i zašto bi se najbolja i najveća programerska kuća u svijetu trebala bojati toga što će na lokalnom natjecanju ostvariti mali debeljko?

Hm...ali mogli bi i IBM, Sun ili Novell organizirati trku sa svojim konjima u regularnom natjecateljskom okružju. I mogao bi Microsoft izgubiti. Hm, gadno. Bolje da se to spriječi jednom stavkom u ugovoru.

Ja sam se prošli tjedan također bavio benchmarcima. Usporedio sam Mono i Portable.NET koristeći PNetMark. Mono i Portable.NET su open source konkurencija Microsoft .NET okosnici. Mono se pokazao duplo bržim od Portable.NET-a. Ne želeći se uvući u besmislenu raspravu s DotGNU vjernicima, odustao sam od objave rezultata na ovom blogu. Jer kako se raspravljati s ljudima koji na svojim wiki stranicama, kao jedan od dokaza superiornosti svojeg uratka, obavljuju benchmark o brzini podizanja "Halo svijete"" programa. ;-)