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

Fonte: opennet.ru
