Google ha annunciato i risultati dell'ottimizzazione AutoFDO (Auto-Feedback-Directed Optimization) per la compilazione del kernel Linux per la piattaforma Android. AutoFDO utilizza i risultati del profiling con informazioni sulla frequenza di esecuzione delle varie sezioni di codice per migliorare le prestazioni delle operazioni eseguite frequentemente. L'ottimizzazione AutoFDO è stata implementata nella compilazione del kernel Linux 6.12 per Android 16 e 6.6 per Android 15, e sarà inclusa nella compilazione del kernel 6.18 per Android 17. I profili delle prestazioni per AutoFDO sono stati generati sulla base dell'esecuzione di 100 applicazioni popolari del set C-Suite (Android App Compatibility Test Suite) e della simulazione dell'interazione dell'utente con queste applicazioni.
In precedenza, l'ottimizzazione AutoFDO era stata già applicata in Android per la compilazione di librerie di sistema e file eseguibili nello spazio utente, consentendo in media di accelerare l'avvio dei programmi del 4% e di ridurre il tempo di caricamento dell'1%. Tuttavia, fino a poco tempo fa, l'ottimizzazione AutoFDO non era stata applicata al kernel Linux, per il quale, secondo le statistiche di Google, viene impiegato il 40% del tempo di CPU in Android.
Nei test condotti, l'inclusione di AutoFDO per il kernel ha portato a una riduzione del tempo di avvio del 2.1%, a un'accelerazione del primo avvio dei programmi del 4.3%, a un aumento dell'efficienza delle chiamate di sistema del 9.3%, a una diminuzione del tempo di esecuzione delle transazioni mmap su Binder del 12.3%, su HwBinder del 20% e su Binder RPC del 21.7%.

Fonte: opennet.ru
