Proč a jak (ne)věřit benchmarkům

31

Kdykoli se někde v článku objeví zmínka o benchmarcích, je to zaručený recept na ostrou diskusi. Proč ale jednoduchá čísla vyvolávají tolik vášní? Je to zejména proto, že jsou špatně interpretována. Jak je tedy správně chápat, nakládat s nimi a vyvozovat patřičné závěry? Pojďte s námi vyvrátit pár mýtů.

Všichni se srovnáváme

Nejprve začněme s definicí slova benchmark v nejširším vědeckém slova smyslu. V tom případě se jedná o porovnání simulací s empirickými daty anebo porovnání dvou simulací navzájem. Zní to jako suchá definice, ale když se nad ní zamyslíme, odkryjeme jeden často přetřásaný omyl, a to bohužel i v médiích.

Benchmark má smysl vždy jen jako porovnání dvou stavů a více. Docela často se objeví zpráva o tom, že nějaký nový telefon „udělal AnTuTu za tolik a tolik bodů“, podobné „poměřování přirození“ v počtu bodů můžeme vídat na mnoha diskusních fórech. Bez konkrétních poznatků o testovacích programech a nějakém srovnání s jinými přístroji však jde jen o výkřiky do tmy.

Jak se rozhodnout, který telefon má lepší vnitřnosti, když jejich fungování rozumímem jen velmi zběžně?

Jak tedy vypadá seriózní použití benchmarků v tomto smyslu? Typickým příkladem, kdy má použití podobných programů opravdu smysl je například instalace nových verzí operačního systému. Když například uděláte testy před a po upgradu a zjistíte výrazný pokles, pak to to může znamenat nejenom špatnou optimalizaci benchmarku pro nové prostředí, ale také empirický důkaz špatné práce programátorů. Rozhodně je to lepší než konstatování, že „telefon je nějak zasekaný“.

Všichni se předvádějí

Historie počítačových benchmarků sahá někam do osmdesátých let dvacátého století, kdy začala být konkurence na trhu s výpočetní technikou natolik silná, že vyvstala potřeba porovnávat mezi sebou jednotlivá řešení. Bylo totiž potřeba zjistit, který systém se více vyplatí. Začaly tak vznikat různé standardy pro porovnávání.

Nesmíme však zapomenout na to, že se bavíme o době, kdy byl domácí počítač spíše raritou. První uživatele benchmarků tak byly firmy, které výkon skutečně využily, například při předpovídání počasí. Z toho vychází i další, spíše filozofická, otázka: „skutečně takový výkon potřebujeme, zvláště pak u mobilního zařízení?“

Benchmark
Co ve skutečnosti znamená, že jeden telefon získal více bodů než ten druhý? Odpověď není tak jednoduchá...

Představa, že hrubá síla pomůže automaticky vyřešit všechny programátorské poklesky se špatnou optimalizací, je zcela mylná. A stejně tak u mobilu, který přináší svému majiteli jen příjemné zážitky, toho potřebujeme daleko více.

Zkusme si představit metaforickou situaci z reálného života. Při pohovoru na pracovní místo prokážete lepší vzdělání, delší praxi a nižší platové nároky než člověk, kterého nakonec přijmou místo vás. Proč? Získal třeba pár bodů navíc v testech inteligence.

Všichni podvádějí

Situace popsaná v předchozím odstavci může znít absurdně, ale je celkem pochopitelná. Situace, kdy srovnáváte dva velmi složité systémy (ať už lidi, nebo mobily), je pro mnohé nad jejich síly, a tak není divu, že se uchylují k jednoduchým řešením.

Něco takového nemohou výrobci hardwaru nechat bez povšimnutí. Přiznejme si, že každý z nás se alespoň jednou pokusil podvádět u nějakého školního testu, aby získal lepší výsledky. Stejně tak to funguje i v praxi.

Pro příklady nemusíme chodit daleko. Asi nejznámější aférou tohoto druhu je případ Samsungu Galaxy S4 a AnTuTu. O co šlo? Maximální takt grafického procesoru tohoto telefonu je 533 MHz. Na ten si však sáhnou jen aplikace předinstalované Samsungem, jako je browser nebo fotoaparát. U dalších aplikací, typicky u her, je maximální takt omezen na 480 MHz, aby nedošlo k poškození procesoru nadměrným zahříváním. Je zde ale jedna malá výjimka a tou je právě zmíněný benchmark, který tak využije výkon, kterého v praxi nepůjde nikdy dosáhnout.

Samsung Galaxy S4. První odhalený "podvodník". Bude jich však zcela určitě více.

Drobná lest, nebo promyšlený podvod? Obojí znamená, že výsledkům nemůžeme plně věřit, a to z mnoha důvodů. Mluví se například o tom, že tvůrci benchmarků je mohou cíleně ladit pro určité procesory nebo architektury. Jisté ponaučení nám může dát oblast osobních počítačů, kde se podobné problémy řeší už delší dobu.

Když například čtete test nějaké grafické karty, dostanete sice obligátní výsledky benchmarků. Ty jsou však následovány dalšími testy, tentokráte však ve skutečných hrách. Až jejich porovnání s výsledky jiných karet pak umožňuje recenzentovi vyřknout konečný verdikt.

Všichni testují

Z výše uvedeného to vypadá, že benchmarky jako takové nemají u mobilních zařízení moc smysl. To je částečně pravda: kdyby byl svět tak jednoduchý, nemuseli bychom například na mobilenetu psát tak podrobné recenze, stačilo by pár papírových parametrů ve spojení s výsledky benchmarků – sami však určitě víte, že tak jednoduché to není. Nicméně i přesto mohou výsledky testů dotvořit obrázek o daném přístroji, ovšem pouze v případě, že víte, jak je správně pochopit. Shrňme si proto důležité zásady:

  • Benchmarky mají smysl jen jako srovnání.
  • Při srovnání je důležité, aby se testovalo programem v téže verzi, stejně tak by měl být stejný stav testovaných zařízení.
  • Pokud jste benchmark sami neprogramovali nebo pečlivě nestudovali jeho zdrojový kód, berte jeho výsledky vždy s rezervou.
  • S ještě větší rezervou pak berte zprostředkované výsledky benchmarků.
Diskuze ke článku
Maroš
Prečo ste postupne upustili od Quadrantu?
Hany
Ja bych doplnil u ty S4 takt grafickeho procesoru. Neni procesor jako procesor...
Wyman
S5 má v AnTuTu 35k? Tak to určitě ne a když, tak na staré verzi jak systému, tak AnTuTu...
Maros
Dekuji za osvetleni. Jsou to dulezite informace. Nicmene pro bezne ovce bude stale predhanecka na urovni Antutu vysledku. Tak jako se lidi predbihaji kdo ma ve fotaku vic mpix, kdo ma kolik jader v CPU atd atd...

Načíst všechny komentáře

Přidat názor

Nechcete být anonymní? Přihlašte se

Nejživější diskuze