IT-lexikon › Programmering › Poolallokator

Poolallokator

Programmering In English → Uppdaterad: 2026-10-26

En allokator som delar en buffert i likadana block länkade i en fri-lista, och delar ut dem i valfri ordning i konstant tid.

När ett program ständigt skapar och förstör objekt av samma storlek — kulor, partiklar, entiteter — är en generell heap både långsam och fragmenteringsbenägen. En poolallokator delar i förväg bufferten i fasta block och trär ihop de lediga i en enkel länkad lista. Att allokera är att plocka första lediga blocket; att frigöra är att lägga tillbaka det främst. Båda är O(1).

Eftersom alla block är lika stora kan de återanvändas i vilken ordning som helst utan att lämna hål som inget passar i — fragmenteringen försvinner per konstruktion. Förväxla inte mekanismen med objektpoolning, som är samma idé en nivå upp: där återanvänds färdiga spelobjekt, här återanvänds råa minnesblock.

← Tillbaka till lexikonet