Prestatiemeting en profiling
Welke zaken kunnen bijvoorbeeld worden geteld met de in de CPU ingebouwde prestatietellers (PMU)?
- AHet aantal uitgevoerde instructies, het aantal cache-misses, het aantal verkeerd voorspelde sprongen e.d.
- BHet aantal personen dat het programma heeft geschreven
- CHet aantal toetsen op het toetsenbord
Antwoord en toelichting tonen
Antwoord: A. Het aantal uitgevoerde instructies, het aantal cache-misses, het aantal verkeerd voorspelde sprongen e.d.
Prestatietellers zijn hardwaretellers die diverse gebeurtenissen binnen de CPU tellen. Uit het aantal cycli en het aantal instructies kan de IPC worden bepaald, en ook het aantal cache-misses per niveau, TLB-misses en sprongvoorspellingsfouten is bekend. Met hulpmiddelen als perf onder Linux kunnen ze worden geteld terwijl het programma draait, wat een aanwijzing geeft of de oorzaak van de tijdsbesteding bij het geheugen, bij sprongen of bij de berekening zelf ligt.