Optimasi yang Diarahkan Umpan Balik Otomatis (12 atau lebih tinggi)

Diperkenalkan di Android 12, sistem build Android mendukung pengoptimalan modul Android asli yang memiliki aturan build cetak biru menggunakan Automatic Feedback-Directed Optimization (AutoFDO) . AutoFDO adalah teknik optimasi berbasis sampling. AutoFDO menangkap perilaku runtime biner sistem, memungkinkan kompiler melakukan optimalisasi kinerja yang lebih baik sekaligus mengurangi ukuran biner. AutoFDO mendukung pengumpulan data dari arsitektur AArch32 dan AArch64, meskipun profilnya dapat digunakan di seluruh arsitektur.

AutoFDO adalah penerus Profile-Guided Optimization (PGO) berbasis instrumentasi.

Dibandingkan dengan profil berbasis instrumentasi lainnya, AutoFDO memiliki manfaat tambahan berikut:

  • Pengumpulan data yang tidak mengganggu: Profil AutoFDO dapat dikumpulkan dari perangkat pengembangan atau pengguna tanpa modifikasi apa pun untuk membuat aturan.

  • Representasi penggunaan di dunia nyata: AutoFDO mewakili perilaku penggunaan di dunia nyata dengan asumsi profil dikumpulkan dari perangkat pengguna, sedangkan PGO instrumentasi hanya mewakili beban kerja pengumpulan sintetis. Biasanya tidak mudah untuk membuat beban kerja koleksi yang sesuai dengan penggunaan di dunia nyata.

AOSP dikirimkan dengan profil AutoFDO untuk sebagian besar proyek yang kinerjanya penting. Profil dikumpulkan dari perangkat ponsel dan tablet, dan mewakili pola penggunaan umumnya. Profil terletak di bawah toolchain/pgo-profiles/sampling . AFDO diaktifkan secara default di AOSP.

Aktifkan AutoFDO untuk aturan pembuatan cetak biru

Untuk mengaktifkan AutoFDO untuk aturan pembuatan cetak biru, tambahkan afdo: true ke pustaka bersama atau aturan biner.

Kumpulkan profil

Profil bawaan yang disediakan dengan AOSP tidak mendukung skenario spesifik berikut:

  • Dimasukkannya proyek AutoFDO tambahan
  • Kehadiran kode yang dimodifikasi secara lokal
  • Pola penggunaan unik yang terkait dengan sistem Anda

Jika Anda mengalami salah satu skenario ini, Anda harus mengumpulkan profil langsung dari perangkat pengembangan atau pengguna.

Untuk instruksi mendetail tentang cara mempersiapkan perangkat ARM untuk mengumpulkan profil AutoFDO, lihat Mengumpulkan data ETM untuk AutoFDO .

Untuk informasi tentang cara mengaktifkan pengumpulan, pemrosesan, dan pengunggahan profil latar belakang otomatis, lihat Profcollect .

Analisis profil AutoFDO

Android menggunakan profil LLVM AutoFDO standar. Profil AFDO dapat dibaca menggunakan alat llvm-profdata LLVM. Skrip afdo_summary.sh ( toolchain/pgo-profiles/scripts/afdo_summary.sh ) secara otomatis menghasilkan fungsi yang paling sering dijalankan sesuai dengan profil AutoFDO.