Jedním z nejčastěji používaných srovnávacích benchmarků pro procesory je balík Geekbench od firmy Primate Labs. Funguje multiplatformně na více operačních systémech a také na procesorech ARM, takže jde hlavně o populární nástroj porovnávání pindíků mobilních procesorů třeba od Applu s těmi velkými pro PC. Tyto benchmarky nyní dostaly update a vychází zcela nová verze Geeekbench 6. Testy a skóre se s ní mění, takže i ono meziplatformní srovnávání v jistém smyslu začíná od znova. A je možné, že se ukážou zajímavé odlišnosti proti tomu, jak ho malovala verze 5.
Verze Geekbench 6 vyšla tento týden (14. 2. 2023). Nejde o inkrementální pokračování předchozích verzí Geekbench 5, ale o nový benchmark s odlišnými dílčími komponenty, které byly aktualizované a změněné tak, aby lépe reprezentovaly současné využití procesorů – nebo takový je alespoň záměr tvůrců.
Do benchmarku byly přidány například testy reprezentující filtrování videa při telekonferenci (konkrétně rozmazání pozadí za osobou), úpravy obrázků pro upload na sociální sítě, automatické odstraňování rušících prvků z fotek, ale také aplikace umělé inteligence / neuronových sítí (rozpoznávání objektů a tagování fotek). Testuje se ale také výkon ve skriptovacích jazycích při zpracování textových dat.
Primate Labs uvádí, že testům byly také zvětšeny sady dat, které zpracovávají. Například teď benchmark měří práci s většími fotografiemi, mapami (v testech navigace), PDF a HTML5 soubory v testech simulujících web. Vedle testu výkonu CPU je nadále součástí také test výpočetního výkonu GPU (na PC používá OpenCL, Vulkan, na platformách Applu zřejmě bude používáno jeho vlastní API Metal).
Nová definice mnohovláknového výkonu…
Podle Primate Labs je jednou z největších interních změn to, jak probíhá mnohovláknový test. Dříve Geekbench běžel jednou v jednovláknové instanci (která generuje jednovláknové skóre, jež je u tohoto testu asi nejvíce vyhledávanou informací). Poté běží mnohovláknový test, který ale funguje tak, že na jednotlivých vláknech procesoru spouští instanci stejného jednovláknového testu a pak z toho vypočítává agregované skóre.
Od Geekbench 6 se to mění a mnohovláknový test je spouštěn jako jedna sdílená úloha, v níž dochází k rozkládání zátěže mezi více vláken. Toto je bližší tomu, jak funguje většina mnohovláknových aplikací (ale ne všechny, některé škálují spíše jako nezávislé instance – například Cinebench). Podle autorů benchmarku by tento nový styl měl více odpovídat reálnému světu a také by to mimo jiné mělo spravedlivěji hodnotit procesory s malými a velkými jádry. V tom smyslu, že by mělo být odhaleno, zda skutečně jsou schopné spolupracovat, nebo jsou jejich rozdílné výkonnostní charakteristiky překážkou a celkový výkon je pak špatný.
… a škálování
Taková je aspoň teorie. První testy uživatelů ale vzbuzují určité otázky. Mnohovláknová skóre procesorů s mnoha jádry a vlákny jsou velmi nízká a benchmark na nich má zarážejícně špatné mnohovláknové škálování. Poměr mezi jednovláknovým a mnohovláknovým skóre vypadá, jako by Geekbench 6 téměř neškáloval za víc jak nějakých osm jader. Redakční Ryzen 9 5950X (test na něm mimochodem běžel tři minuty, pořád tedy netrvá moc dlouho) například měl jednovláknové skóre dobře přes 2000, ale mnohovláknové skóre jen něco přes 12 000, ani ne šestinásobek (alespoň ve Windows 10). Ještě tristnější využití mnohovláknového potenciálu pak samozřejmě vyjde na třeba 64jádrových procesorech.
(Poznámka: Samozřejmě nemá smysl porovnávat skóre mezi Geekbench 5 a 6. Úlohy se změnily, a tak jde o příslovečné hrušky a jablka.)
Je možné, že toto velmi omezené škálování odpovídá možnostem kódu použitého v benchmarku k simulaci oněch různých každodenních úloh a lze to považovat za reprezentativní. Je také možné, že kód není napsán tak optimálně, jak by mohl, a tyto limity tedy nejsou reprezentativní pro reálný svět, jakož spíš pro konkrétního programátora (ale třeba i pro to, že konkrétní kód začne rychle být limitovaný propustností pamětí místo výkonem CPU). To těžko říct.
Nicméně omezené škálování může také být na úkor onomu záměru snažit se podchytit účinky hybridních architektur. Pokud má totiž procesor (třeba mobilní SoC v telefonu Apple) jen dvě velká jádra, pak osm vláken stačí na to, aby se zapojila jak ta, tak i jádra malá. Jenže v desktopových procesorech Intelu je osm velkých jader, která možná takhle odvedou všechnu dominantní práci, protože by na ně operační systém měl úlohy směřovat přednostně.
Možná, že časem bude kód Geekbench 6 podrobněji zanalyzován a dostane se nám lepšího porozumění, jak to s tím škálováním je a zda je spíše reprezentativní a vlastně ukazuje důležitou informaci, nebo je spíše limitující a benchmark jím skutečný výkonnostní potenciál procesorů spíše zamlžuje.
Při použití si jinak všimnete různých dalších změn včetně třeba prezentace výsledků. Detekovaná rychlost pamětí se například již ukazuje v MT/s místo v MHz (není ale ukázaná šířka paměťového řadiče v bitech, což by bylo také užitečné). Také už například nejsou ve skóre ukázány zvlášť hodnoty pro integer, floating-point a kryptografické operace, ale jen průměrná hodnota – jednou pro jednovláknové a jednou pro mnohovláknové skóre. Toto rozdělení v Geeekbench 5 někdy bylo zajímavé srovnávat, protože bylo vidět, že některá CPU své celkové skóre více vylepšují vysokým výkonem hardwarově akcelerovaného šifrování než jiné, které pak sice mají stejné celkové skóre, ačkoliv jim vyšel lepší floating point a integer výkon (což jsou podstatnější složky). Tyto změny ale možná mají své důvody a každopádně jsou pořád ukázána jednotlivá dílčí skóre pro vlastní komponenty testu.
Geekbench 6 má jako obvykle i placenou verzi Pro (na tu je mimochodem do konce měsíce 20% sleva), ale pro běžné použití je zadarmo a můžete jej již volně stahovat. Dostupný je pro Windows, Linux, Android, iOS a macOS. Neváhejte se podělit v komentářích, pokud najdete něco zajímavého nebo se prostě budete chtít pochlubit vysokým skóre. Nebo naopak nízkým, pokud se vám podaří projet benchmark na nějakém hodně starém počítači či zařízení.
Zdroj: Primate Labs