Prestatiemeting en profiling

Welke aanpak is het meest geschikt bij het verbeteren van de prestaties van een programma?

  1. AEerst meten om te vinden waar de tijd wordt besteed, daar verbeteren, en na de verbetering opnieuw meten om het effect te controleren
  2. BRaden welke plaatsen langzaam lijken en die herschrijven zonder te meten
  3. CAlle functies even sterk optimaliseren
Antwoord en toelichting tonen

Antwoord: A. Eerst meten om te vinden waar de tijd wordt besteed, daar verbeteren, en na de verbetering opnieuw meten om het effect te controleren

Gissingen over waar het langzaam is, zijn ook bij ervaren mensen vaak onjuist. Eerst wordt met een profiler of prestatietellers gemeten en worden de plaatsen waar veel tijd wordt besteed en de oorzaak daarvan (berekening, geheugen, sprongen, I/O enz.) vastgesteld. Na een verbetering wordt onder dezelfde omstandigheden opnieuw gemeten om te controleren of het werkelijk sneller is geworden en andere delen niet langzamer zijn geworden. Deze herhaling is de betrouwbare manier om de prestaties te verhogen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Prestatiemeting en profiling

  1. Bij een programma dat grote hoeveelheden gegevens verwerkt: welke verbetering levert waarschijnlijk de grootste versnelling op?
  2. Wat is het juiste doel van het bij elke wijziging automatisch uitvoeren en vastleggen van benchmarks bij softwareontwikkeling?
  3. Bij het meten van benchmarks op een laptop varieerde het resultaat voor hetzelfde programma elke keer sterk. Welke combinatie van mogelijke oorzaak aan de CPU-kant en tegenmaatregel is juist?
  4. Waarom worden bij het meten van prestaties op multicore- en NUMA-systemen threads soms aan een bepaalde core vastgezet (affiniteit instellen)?
  5. Wat is het meest geschikt om als eerste te controleren bij het analyseren van de prestaties van een programma dat de GPU gebruikt?