La nuova versione di Redis, la 8.8, è già disponibile su GitHub. Tra le sue novità spicca una struttura dati chiamata Array, progettata per operazioni rapide per posizione relativa. Inoltre, include miglioramenti delle prestazioni come LTO attivato per impostazione predefinita su x86_64, un uso più efficiente dei thread, codice in Rust per ridurre il sovraccarico di FFI, ottimizzazioni per ARM64 e precaricamento batch. Un aggiornamento che punta all'efficienza senza giri di parole.
Dettagli tecnici della nuova struttura e ottimizzazioni 🚀
La struttura Array consente di accedere e modificare gli elementi in base alla loro posizione nell'insieme, utile per code o liste di priorità. La compilazione con LTO (Link Time Optimization) su x86_64 riduce la dimensione del binario e migliora la velocità di esecuzione. Il nuovo codice in Rust sostituisce parti critiche del FFI, eliminando i colli di bottiglia nella comunicazione tra linguaggi. Su ARM64, sono state ottimizzate istruzioni specifiche per server a basso consumo. Il precaricamento batch accelera il caricamento dei dati in memoria durante l'avvio.
Anche gli sviluppatori hanno sentimenti (e scadenze) 😅
La comunità chiede da anni una struttura dati che non sia un semplice hash o una lista. Ora che arriva l'Array, di certo qualcuno lo userà per memorizzare liste della spesa o l'ordine delle ricariche in frigo. La questione di Rust promette di ridurre il sovraccarico di FFI, anche se c'è sempre chi pensa che il problema non fosse il FFI, ma la macchina del caffè. E per quanto riguarda LTO predefinito: finalmente potremo compilare Redis mentre aspettiamo il caffè, non la pensione.