Lessico IT › Programmazione › Allocatore ad arena

Allocatore ad arena

Programmazione Svenska → Aggiornato: 2026-10-01

Strategia di allocazione in cui si prende un unico grande blocco di memoria, se ne distribuiscono porzioni spostando un puntatore in avanti e poi si libera tutto in un colpo solo. Le liberazioni individuali non esistono.

Un'allocazione si riduce così a tre istruzioni circa, invece di una chiamata a un gestore di memoria generico con le sue free list e il suo lock; inoltre gli oggetti creati in sequenza finiscono anche fisicamente in sequenza, cosa che la cache apprezza. Il modello si adatta a carichi di lavoro con un ciclo di vita ben definito: un compilatore può allocare l'intero albero sintattico in un'arena e scartarla a fine fase, un server web può dare a ogni richiesta la propria arena e azzerarla alla risposta. Non si adatta invece a oggetti con durate diverse, perché la memoria non viene mai riutilizzata finché l'intera arena non è rilasciata: un solo oggetto longevo tiene quindi in vita tutto il resto. Anche i distruttori vanno gestiti a parte e, nei linguaggi tipizzati, ogni oggetto dell'arena è legato alla stessa durata, il che si vede nelle firme.

← Torna al lessico