IT-lexicon › Programmeren › Arena allocator

Arena allocator

Programmeren Svenska → Bijgewerkt: 2026-10-02

De allocatiestrategie waarbij één groot geheugenblok wordt genomen, stukjes ervan worden uitgedeeld door een pointer op te schuiven, en alles in één klap wordt vrijgegeven. Losse frees bestaan niet.

Een allocatie kost zo ongeveer drie instructies in plaats van een aanroep naar een algemene geheugenbeheerder met vrije lijsten en een lock, en objecten die na elkaar worden aangemaakt komen bovendien ook fysiek na elkaar te liggen, wat de cache waardeert. Het patroon past bij workloads met een duidelijke levensduur: een compiler kan de hele syntaxisboom in een arena alloceren en weggooien als de fase klaar is, een webserver kan elk verzoek een eigen arena geven en die bij het antwoord resetten.

Wat niet past zijn objecten met uiteenlopende levensduur, want geheugen wordt pas hergebruikt als de hele arena wordt vrijgegeven – één langlevend object houdt dus al het andere in leven. Destructors vragen aparte afhandeling, en in getypeerde talen is elk object in de arena aan dezelfde levensduur gebonden, wat in de signaturen zichtbaar wordt.

← Terug naar het lexicon