Prestatiemeting en profiling

Hoe wordt een flame graph, een weergave van profileringsresultaten, juist gelezen?

  1. ADe kleur van elke functie geeft het belang van die functie weer
  2. BDe aanroepketen is verticaal opgestapeld en de horizontale breedte van elke functie geeft het aandeel van de tijd weer dat die functie (en de door haar aangeroepen functies) gebruikte
  3. CDe horizontale as geeft de datum van uitvoering van het programma weer
Antwoord en toelichting tonen

Antwoord: B. De aanroepketen is verticaal opgestapeld en de horizontale breedte van elke functie geeft het aandeel van de tijd weer dat die functie (en de door haar aangeroepen functies) gebruikte

In een flame graph staan de aanroepers onderaan en de aangeroepen functies erboven, getekend met een breedte evenredig aan het aantal door sampling vastgelegde monsters. Hoe breder een blok, hoe meer tijd het gebruikt. Een breed blok zonder iets erboven geeft aan dat de functie zelf tijd gebruikt; staan er nog functies bovenop, dan wordt de tijd in de aangeroepen functies besteed. Zo is in één oogopslag te zien welk aanroeppad zwaar is.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Prestatiemeting en profiling

  1. Welke zaken kunnen bijvoorbeeld worden geteld met de in de CPU ingebouwde prestatietellers (PMU)?
  2. Uit metingen met prestatietellers bleek dat de IPC (aantal instructies per cyclus) van een programma met 0,3 zeer laag was en dat er veel cache-misses in het laatste niveau waren. Welke combinatie van meest waarschijnlijke situatie en tegenmaatregel is juist?
  3. Met prestatietellers bleek dat er zeer veel sprongvoorspellingsfouten zijn. Welke verbetermethode is geschikt?
  4. Wat is bij top-downanalyse (Top-down Microarchitecture Analysis) met prestatietellers de juiste hoofdindeling van het gebruik van de slots waarin de CPU instructies verwerkt?
  5. Een programma was langzaam, hoewel het CPU-gebruik laag was, ongeveer 20 %. Wat is de meest waarschijnlijke oorzaak?