Prestatiemeting en profiling
Door een nieuwe compileroptimalisatie daalt het aantal uitgevoerde instructies met 20 %, maar stijgt de gemiddelde CPI met 10 % (dezelfde frequentie). Welke uitspraak over het effect van deze optimalisatie is juist?
- ADoordat de CPI stijgt, wordt het programma altijd langzamer
- BDe uitvoeringstijd wordt 0,8 keer de oorspronkelijke tijd
- CDe uitvoeringstijd wordt 0,88 keer de oorspronkelijke tijd, dus het programma wordt sneller
Antwoord en toelichting tonen
Antwoord: C. De uitvoeringstijd wordt 0,88 keer de oorspronkelijke tijd, dus het programma wordt sneller
De uitvoeringstijd is evenredig met het product van het aantal instructies en de CPI, dus de tijd wordt 0,8 × 1,1 = 0,88 keer de oorspronkelijke tijd, ongeveer 12 % korter. Net zoals het gebruik van complexe instructies het aantal instructies verlaagt maar de inspanning per instructie verhoogt, gaat de verbetering van de ene factor vaak ten koste van een andere. Wie alleen naar de CPI of alleen naar het aantal instructies kijkt, komt tot een verkeerde conclusie; het is van belang het product te vergelijken.