uitvoeringssnelheid
Uitvoeringssnelheid verwijst naar de snelheid waarmee een programma of proces instructies uitvoert en taken voltooit. In de informatica wordt dit vaak uitgedrukt als tijdsduur per bewerking of als de totale tijd die nodig is om een taak te voltooien. Snelheid kan worden gemeten als wall-clock time (de werkelijk verstreken tijd) of als CPU-tijd (tijd waarin de CPU daadwerkelijk aan de taak werkt). Daarnaast wordt vaak gesproken over latentie en doorvoer: latentie is de tijd tot de eerste uitvoer of reactie, terwijl doorvoer de hoeveelheid werk aanduidt die per tijdseenheid wordt verwerkt.
- Latentie: tijd tot de eerste uitvoer of respons.
- Doorvoer: hoeveelheid werk die per tijdseenheid wordt voltooid.
- Responstijd: tijd tussen aanvraag en eerste nuttige output.
- Totale tijd tot voltooiing: totale duur tot het eindresultaat.
Factoren die uitvoeringssnelheid beïnvloeden:
- Algoritme en datastructuren (complexiteit).
- Hardware: CPU-snelheid, geheugen, cache, I/O-snelheid.
- Softwareomgeving: compiler, interpreter, garbage collection.
- Parallelisme en vectorisatie.
- I/O en netwerken.
- Programmeertaal- en runtimevoorzieningen.
- Microbenchmarks meten hotspots in isolatie; macrobenchmarks evalueren volledige toepassingen.
- Belangrijke variabelen: workload, omgeving, warm-up, herhaling.
- Gebruik van profiling- en benchmarktools om hotspots te identificeren.
Optimalisatie en overwegingen:
- Kies efficiënte algoritmen en datastructuren.
- Verbeter hotspots, gebruik compiler- of runtimeoptimalisaties.
- Versimpel I/O, benut caching en parallelisme waar mogelijk.
- Let op trade-offs met energieverbruik, betrouwbaarheid en onderhoud.