Home

prestatieoverhead

Prestatieoverhead is de extra tijd of middelen die nodig zijn door aanvullende lagen, processen of mechanismen die zijn geïntroduceerd om functionaliteit, veiligheid of betrouwbaarheid te realiseren. In de praktijk wordt overhead uitgedrukt als een toename in latentie of verbruik ten opzichte van een baseline-operatie, vaak weergegeven als een overheadpercentage of als absolute extra tijd, CPU-cycli, geheugen of netwerkbandbreedte.

Oorzaken en voorbeelden zijn onder meer: virtuele machines, containers en hypervisors die contextswitches en abstractie met

Meten en evalueren gebeurt vaak via benchmarking, waarbij latentie en doorvoer van een operatie worden vergeleken

Mitigatie van prestatieoverhead kan bestaan uit ontwerpkeuzes zoals batching, lazy evaluatie, zero-copy buffers, asynchrone I/O en

zich
meebrengen;
garbage
collection
en
automatische
memory
management
die
CPU-tijd
en
pauzes
vereisen;
beveiligingsfuncties
zoals
encryptie,
hashing,
toegangsbewaking
en
bounds-checking
die
extra
rekeneenheden
gebruiken;
logging,
auditing
en
foutafhandeling
die
I/O
en
verwerking
verhogen;
en
protocollen
of
dataformaattransformaties
zoals
compressie
die
extra
CPU
en
bandbreedte
vereisten.
met
en
zonder
de
extra
mechanismen.
Daarnaast
geven
metrics
zoals
CPU-gebruik,
cache-missies
en
geheugenverbruik
aanvullende
inzichten
in
de
omvang
van
de
overhead.
offloading
naar
GPU
of
hardware-accelerators.
Profileren
en
micro-optimalisatie
helpen
bij
het
identificeren
van
knelpunten.
Belangrijk
is
het
afwegen
van
trade-offs:
het
verlagen
van
overhead
kan
ten
koste
gaan
van
veiligheid,
betrouwbaarheid
of
gebruikservaring.
Prestatieoverhead
is
vaak
een
onvermijdelijk
punt
in
systemen
die
complexiteit,
veiligheid
en
gebruiksgemak
willen
gecombineerd
bieden.