Cpu-performance meten op de c't-manier
de cpu te meten. We meten de officesnelheid met een suite die onder andere tekstverwerking, spreadsheets en browsers bevat. Afhankelijk van het type apparaat worden dan andere benchmarks toegevoegd, bijvoorbeeld game-benchmarks voor gaming-pc’s, of CAD- en 3D-visualizers voor werkstations.
VOOR HET STARTEN
We voeren de tests zoveel mogelijk uit onder Windows 10, omdat dat op complete systemen meestal standaard geïnstalleerd wordt. Veel van de genoemde benchmarks zijn echter ook beschikbaar voor macOS en Linux, zodat ten minste enkele van de programma’s ook onder alternatieve besturingssystemen draaien. Bij de link op de laatste pagina van dit artikel hebben we de downloadlinks gezet naar de programma’s en de render- en videobestanden die we gebruiken. Sommige van die bestanden zijn wel enkele honderden megabytes groot.
We maken voor zover mogelijk nooit speciale aanpassingen aan het besturingssysteem. We schakelen alleen de automatische stand-by-modus bij inactiviteit uit, zodat de computer niet midden tijdens
het uitvoeren van een benchmark in slaap wordt gezet. We verbreken ook de verbinding met het netwerk, zodat Windows Update er niet plotseling dwars doorheen komt. We sluiten alle andere programma’s af. We raden aan het systeem opnieuw op te starten en het minstens 10 minuten stil te laten staan. Dan is het besturingssysteem na het opstarten klaar met alle achtergrondactiviteiten.
Sommige van de benchmarks hebben zelf al vergelijkende waarden. Anders kun je die vaak vinden bij onze tests voor processors, desktop-pc’s en laptops, evenals bij onze artikelen over de zelfbouwsuggesties. Een overzicht met meer dan 50 processors is te vinden in de CPU-gids 2020 [1].
CINEBENCH IS QUASI-STANDAARD
Om de prestaties van x86-processoren te vergelijken, heeft de Cinebench-benchmark, afgeleid van de 3D grafische software Cinema 4D, zich de afgelopen jaren gevestigd als referentie voor hardwarefabrikanten en IT-media. De programma’s komen van het Duitse bedrijf Maxon. In de huidige versie 20 gebruikt Cinebench raytracing om een statisch renderbeeld te berekenen uit de animatie Oberbilk van de Duitse grafisch ontwerper Marc Potocnik (zie de link op de laatste pagina). Dit toont een woonkamer met een resolutie van 1280×720 pixels.
Voor het renderen gebruikt de benchmark alleen de processor. De grafische kaart heeft geen invloed op het resultaat. Sinds versie 20 wordt de raytracing-bibliotheek Embree van Intel gebruikt, die moderne processorfuncties zoals AVX ondersteunt en volgens Maxon dezelfde 3D-scène twee keer zo snel berekent als de vorige versie [2]. De benchmark draait echter ook op oudere processoren zonder AVX: de minimale eisen zijn 4 GB RAM en een 64-bit processor met de instructieset-uitbreiding SSE3. Daaronder vallen processors vanaf 2004/2005 zoals de Pentium 4 en Athlon 64. De software is beschikbaar voor Windows en macOS.
Er zijn verschillende redenen voor de populariteit van Cinebench onder hardwaretesters. De benchmark levert betrouwbare, reproduceerbare waarden, een run duurt slechts enkele minuten en de resultaten zijn makkelijk te vergelijken. Verder schaalt de benchmark bijna perfect met het aantal kernen en de klokfrequentie. Met de Advanced-instelling kan de singlethreading-prestatie worden gemeten, oftewel hoe snel een enkele core rekent. Dat maakt het bijvoorbeeld makkelijker om verbeteringen in de rekeneenheden tussen verschillende cpu-generaties vast te stellen. Onder Preferences is er ook de optie om het aantal processorthreads handmatig in te stellen.
Hoewel de rendering-scène bij de huidige Cinebench R20 complexer is dan bij zijn voorganger, slagen high-end processors erin om die in minder dan een halve minuut te berekenen. Dat vertekent de resultaten enigszins, omdat de benchmark dan voor een groot deel in de turbomodus wordt uitgevoerd, waarbij de cpu’s hun Thermal Design Power mogen overschrijden en de frequentie kunnen verhogen. De multithreading-waarde in Cinebench R20 komt niet zomaar overeen met het product van het aantal kernen en de singlethreading-prestaties. Aan de ene kant komt Simultaneous Multi-Threading (SMT) oftewel Hyper-Threading in het spel, en aan de andere kant de lagere turbofrequenties als alle kernen belast worden.
RENDER MET BLENDER
Iets praktijkgerichter dan de Cinebench-benchmark is het gebruik van render-applicaties om de cpu-prestaties te bepalen. Daar gebruiken we de gratis opensource software Blender voor, die onder andere gebruikt wordt voor animaties en speciale effecten in tv-series en films – zie de serie artikelen over Blender in de vorige nummers van c’t.
Blender wordt regelmatig geüpdatet, maakt gebruik van moderne cpu-functies zoals AVX en is sinds kort in staat om ook met 64 kernen om te gaan zoals bij de Ryzen Threadripper 3990X. Daarnaast voert de software desgewenst ook berekeningen uit via de grafische kaart.
Voor onze processorbenchmarks gebruiken we het renderproject Car Demo, dat ook gratis te downloaden is via de link op de volgende pagina. Het pakket bevat
een cpu- en een gpu-versie, elk geoptimaliseerd voor de verschillende architecturen. Met een dubbelklik op bmw27_cpu.blender start Blender automatisch. Je hoeft geen instellingen aan te passen. Door op F12 te drukken, wordt het renderingproces gestart. Blender gebruikt daarbij voor de cpu de Cycles-renderer, die op zijn beurt gebruikmaakt van Intels Embree-bibliotheek.
Bij typische desktopprocessors duurt het renderproces enkele minuten – de software geeft de resterende tijd aan. Net als bij Cinebench berekenen de logische kernen bij Blender zelfstandig het raytracingbeeld, dat in tegels verdeeld is. Voor zeer krachtige cpu’s, waarbij de rendertijd van Car Demo minder dan een minuut bedraagt, maken we bovendien gebruik van de meer complexe scène Class room. Houd er rekening mee dat de Blender-versie moet overeenkomen als je je resultaten wilt vergelijken met de waarden van eerdere artikelen.
RUWE METINGEN MET FLOPS
Cinebench en Blender maken voornamelijk gebruik van de floatingpoint-units die tegenwoordig belangrijk zijn voor de cpu-prestaties. Hun ruwe prestaties kunnen direct gemeten worden met het commandoprogramma Flops. Dat is geschreven door Alex Yee, die ook het programma y-cruncher heeft ontwikkeld om pi of e tot triljoenen cijfers achter de komma te berekenen.
Op de downloadpagina (zie de link op de pagina hiernaast) moet je eerst de voor jouw processorarchitectuur geoptimaliseerde benchmarkversie selecteren. Voor AMD’s Ryzen-cpu’s is het bestand 2017-Zen.exe het juiste voor Windows, voor de oudere A- en FX-serie processors kies je voor 2011-Bulldozer.exe. Voor Intel-chips zoals de Core i-2000 en Core i-3000 is er het bestand SandyBridge.exe, en voor nieuwere Core-i cpu’s Haswell.exe. Open een Opdrachtprompt, ga naar de map waar je het uitvoerbare bestand hebt opgeslagen en start het. De rest wordt automatisch uitgevoerd.
Flops bepaalt de floatingpoint-prestaties voor zowel single-precision 32-bit (FP32, Single Precision/SP) als double-precision 64-bit (FP64, Double Precision/ DP) en met verschillende instructiesetuitbreidingen. Veel gangbare desktopprocessors bereiken de beste rekenprestaties met 256 bit brede AVX2- en FMA3-instructies (Fused Multiply Add). Die waarden zijn te vinden aan het einde van een Flops-run.
VIDEO-TRANSCODER HANDBRAKE
We gebruiken het programma Handbrake om te controleren hoe goed of slecht processors presteren bij videocodering. De software bevat opensource encoders zoals FFmpeg, libvpx en x265 en zet video’s om in verschillende formaten. Als testvideo gebruiken we de ongeveer 10 minuten durende gratis animatiefilm Big Buck Bunny, die is gemaakt met de rendersoftware Blender.
Voor de benchmark coderen we de film van de originele bioscoopresolutie naar full-hd in H.264-formaat. Daarvoor zijn geen speciale instellingen nodig, daar gebruiken we gewoon het Handbrake-profiel 1080p30 voor. Het enige wat je hoeft te doen in Handbrake is de video te laden en het profiel en een doelmap te selecteren. Nadat het transcodingproces voltooid is, staat de coderingssnelheid in het logboek. Dat logboek is een beetje verwarrend, in de cruciale regel wordt de tijdstempel gevolgd door de tekst ‘work: average encoding speed for job is’, gevolgd door de gemiddelde codeersnelheid in fps.
Bij Handbrake en videocodeerprogramma’s in het algemeen treedt er afhankelijk van het gebruikte videomateriaal, de codec en de software een verzadigingseffect op. Met de door ons gebruikte instellingen kun je ongeveer 40 tot 48 cpu-threads gebruiken, bijvoorbeeld een 24-core SMT zoals de Ryzen Threadripper 3960X.
INPAKKEN MET 7-ZIP
Voor veel toepassingen in een kantooromgeving spelen integer-prestaties een belangrijkere rol dan floatingpoint-prestaties. Dergelijke taken worden afgehandeld door afzonderlijke integer-units in de processor. Het gratis compressieprogramma 7-Zip bevat een benchmarkfunctie. Die comprimeert en pakt de gegevens helemaal in het werkgeheugen uit, om mogelijke knelpunten met het opslagmedium uit te sluiten.
De benchmark zit bij 7-Zip onder ‘Extra / Benchmark’. Hij begint meteen te rekenen met alle logische processors en werkt de resultaten voortdurend
bij. Onder Snelheid zie je met hoe veel kilobyte per seconde het programma gegevens comprimeert en decomprimeert. In tegenstelling tot bij de meeste andere benchmarks, speelt bij 7-Zip niet alleen de pure cpu-prestatie een rol, maar ook de grootte van de caches en de snelheid van het werkgeheugen. Overgeklokt RAM met korte latency’s levert aanzienlijk betere resultaten op in deze discipline. In de praktijk is het opslagmedium echter vaak langzamer dan een cpu kan decomprimeren.
Om de prestaties van een enkele processorkern te bepalen, kunt je via het drop-downmenu het aantal gebruikte threads beperken tot 1. Veel uitpakroutines, bijvoorbeeld die van Windows Verkenner, maar ook installatieprogramma’s van applicaties en games, maken nog geen gebruik van de mogelijkheden van moderne multicore-processors en hebben daarom onnodig veel tijd nodig.
OFFICESUITE SYSMARK 2018
Naast standalone benchmarks en applicaties met een geïntegreerde benchmark zijn er ook benchmark-suites die verschillende programma’s in één pakket bundelen. Dat zijn bijvoorbeeld SPECworkstation voor werkstations en PCMark 10 en SYSmark 2018 voor kantoor-pc’s.
Die laatste komt van het industrieconsortium BAPCo, waar onder meer Intel, Samsung en Western Digital toe behoren, maar ook pc-fabrikanten zoals Acer, Dell, HP en Lenovo. De betaalde suite SYSmark 2018 voert typische officetaken uit met behulp van echte toepassingen zoals Microsoft Office 2016, Adobe Creative Cloud 2018 (Lightroom, Photoshop, Acrobat Pro), Cyberlink PowerDirector 15 en Google Chrome 65, en meet daarbij de duur. Aan het eind geeft de benchmark een totaalscore en drie individuele scores in de categorieën Productivity, Creativity en Responsiveness. Een Dell Optiplex 5050 met een Core i3-7100, 4 GB RAM en 128 GB SATA SSD dient als referentiesysteem voor een resultaat van 1000 punten.
SYSMark houdt niet alleen rekening met de cpu-prestaties, maar kijkt ook naar het hele systeem. Vooral bij de Responsiveness-beoordeling levert een ssd aanzienlijk betere resultaten op in vergelijking met een harde schijf. Daarbij draaien er meerdere programma’s tegelijk en worden er bijvoorbeeld applicaties geïnstalleerd. Meer cpu-kernen hebben minder effect op de SYSmark-score dan bij de Cinebench, omdat veel programma’s zoals Word en Excel meestal maar één kern gebruiken. De RAM-grootte en de gpu spelen slechts een ondergeschikte rol.
ALLROUNDER PCMARK 10
Een alternatief voor het vrij dure SYSmark is de officebenchmark PCMark 10, die afkomstig is van het Finse softwarehuis UL. Daar komt ook de bekende grafische benchmark 3DMark vandaan. In tegenstelling tot SYSmark 2018 maakt de gratis basisversie van PCMark gebruik van een mix van opensource applicaties zoals de Chromium-browser, Firefox, LibreOffice, FFmpeg en Gimp, maar ook van zelfontwikkelde applicaties die bijvoorbeeld foto- of videoconferentiesoftware nabootsen.
Net als SYSmark bestaat PCMark uit multi- en singlethreaded toepassingen. Er is ook een test die de starttijden van de programma’s meet. In tegenstelling tot SYSmark, dat zich uitsluitend beperkt tot officeprogramma’s, controleert PCMark 10 ook de 3D-gameprestaties. Daar gebruikt UL een gemodificeerde deelverzameling van de grafische benchmark 3DMark voor.
Net als bij die laatste kan het resultaat van PCMark online worden vergeleken met dat van andere gebruikers en bijvoorbeeld worden gefilterd aan de hand van dezelfde processor. Dit maakt het makkelijker om te beoordelen of je eigen pc de verwachte prestaties levert of niet – en om de oorzaak daarvan te vinden.
Literatuur
[1] Christian Hirsch en Daniel Dupré, Desktopprocessors van dualcore tot supersnelle 64-core, c’t 6/2020, p.94 [2] Christian Hirsch en Noud van Kruysbergen, Software op een Intel-cpu analyseren, c’t 9/2019, p.122
We krijgen alleen maar steeds meer bestanden. Veel daarvan worden tegenwoordig wel in de cloud opgeslagen of misschien in eigen huis op een NAS, maar ook op je laptop en desktop-pc groeit het aantal bestanden en wil je steeds grotere schijven.
Als je de gebruikte schijven een tijd bewaart, vergeet je vroeg of laat wat zich daar ook alweer op bevindt. Je kunt natuurlijk een pc openschroeven en die oude schijven daar weer één voor één bij inbouwen, maar misschien heb je geen geschikte pc (meer) voorhanden en bovendien is dat wat omslachtig. Het kan makkelijker met een usb-dock voor schijven.
Icy Box IB-1121-C31
Orico 2.5 & 3.5 Inch Hard Drive Docking Station
Sharkoon QuickPort USB-C 3.1
Seagate Ironwolf ST10000VN0004, gemeten met IOmeter, blockgrootte 128 kB
Crucial MX500, 2 TB, gemeten met IOmeter, blockgrootte 128 kB pc & dockingstation uit / pc uit & dockingstation aan