Google ha presentato una implementazione vettorizzata dell'algoritmo Quicksort

L'azienda Google ha pubblicato il codice sorgente di una libreria ad alte prestazioni per la gestione dei dati, che utilizza le istruzioni vettoriali del processore. Il nuovo algoritmo Quicksort sfrutta le capacità SIMD (Single Instruction, Multiple Data) per accelerare l'elaborazione degli array.
Durante i test interni, la soluzione ha mostrato un aumento della velocità di 9-19 volte rispetto alla libreria standard C++ std::sort. Utilizzando le istruzioni AVX-512, l'algoritmo raggiunge una velocità di trasferimento di fino a 1,1 GB/s, che supera notevolmente le prestazioni delle implementazioni tradizionali legate a specifiche architetture di processore.
I sviluppatori hanno fatto affidamento sulla portabilità del codice, garantendo un funzionamento efficiente su diverse piattaforme hardware. La libreria è ottimizzata per minimizzare le diramazioni e utilizzare efficientemente la memoria cache, consentendo di raggiungere un'elevata densità di operazioni durante la gestione di grandi quantità di dati.
Questa release fa parte degli sforzi di Google per ottimizzare i compiti computazionali a basso livello. L'utilizzo dei calcoli vettoriali consente di ridurre notevolmente il carico sul CPU durante l'esecuzione di operazioni standard, che sono critiche per il funzionamento dei database e dei sistemi di gestione di grandi quantità di informazioni.



