Prestatiemeting en profiling

Twee programma’s met hetzelfde aantal instructies werden na elkaar uitgevoerd, het ene met een snelheid van 1000 miljoen instructies per seconde en het andere met 500 miljoen instructies per seconde. Wat is de gemiddelde snelheid over het geheel?

  1. A750 miljoen instructies per seconde
  2. Bca. 707 miljoen instructies per seconde
  3. Cca. 667 miljoen instructies per seconde
Antwoord en toelichting tonen

Antwoord: C. ca. 667 miljoen instructies per seconde

Bij I instructies per programma zijn de tijden I ÷ 1000 en I ÷ 500, met als totaal 3I ÷ 1000. In deze tijd zijn in totaal 2I instructies uitgevoerd, dus de gemiddelde snelheid is 2I ÷ (3I ÷ 1000) ≈ 667. Het langzamere programma kost meer tijd, waardoor het gemiddelde naar de lagere waarde wordt getrokken. Bij het middelen van snelheden (verhoudingen) voor dezelfde hoeveelheid werk wordt zo het harmonisch gemiddelde gebruikt in plaats van het rekenkundig gemiddelde.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Prestatiemeting en profiling

  1. Bij het meten van de rekensnelheid met een kleine lus als hierboven bleef de tijd vrijwel 0, ook bij een grote N. Wat is de meest waarschijnlijke oorzaak?
  2. Waarom wordt bij het meten van de uitvoeringstijd van een programma dezelfde meting vaak vele malen herhaald en worden de eerste resultaten weggelaten?
  3. Welke combinatie van probleem en tegenmaatregel is juist wanneer de tijd van een zeer korte bewerking slechts één keer wordt gemeten?
  4. Welk verschil tussen “wandkloktijd” (wall-clock time) en “CPU-tijd” bij het meten van de uitvoeringstijd is juist?
  5. Welke uitleg van doorvoer (throughput) en latentie (latency) van een server is juist?