Redazione RHC : 29 Ottobre 2024 15:49
La futura versione del kernel Linux 6.13 include una patch che rielabora l’algoritmo per trovare il checksum CRC32C. La nuova implementazione ha permesso di ridurre la quantità di codice di circa dieci volte, da 4546 byte a 418 byte.
La riduzione del numero di operazioni e l’ottimizzazione della logica del loop hanno comportato un notevole aumento della velocità, particolarmente evidente quando la protezione retpoline contro gli attacchi Spectre era disabilitata.
Pertanto, sui processori AMD Zen 2 si registra un aumento delle prestazioni fino all’11,8%, su Intel Emerald Rapids – 6,4% e su Intel Haswell – 4,8%.
Sei un Esperto di Formazione?
Entra anche tu nel Partner program!
Accedi alla sezione riservata ai Creator sulla nostra Academy e scopri i vantaggi riservati ai membri del Partner program.
Per ulteriori informazioni, scrivici ad [email protected] oppure su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Con la protezione retpoline abilitata, l’effetto dell’ottimizzazione è ancora più pronunciato: le prestazioni su Intel Emerald Rapids aumentano del 66,8%, su Intel Haswell del 35,0% e su AMD Zen 2 del 29,5%.
In precedenza, CRC32C utilizzava 128 loop, il che aumentava significativamente la quantità di codice. Poiché i moderni processori supportano l’esecuzione di istruzioni fuori ordine, il numero eccessivo di istruzioni di salto all’interno dei cicli è diventato un ostacolo all’ottimizzazione.
Nella nuova implementazione, il numero di iterazioni è stato ridotto a quattro, il che ha ridotto significativamente la quantità di codice e allo stesso tempo ha migliorato la velocità dell’operazione.