การเพิ่มประสิทธิภาพผลตอบรับโดยตรงโดยอัตโนมัติ (12 หรือสูงกว่า)

ระบบบิลด์ Android เปิดตัวใน Android 12 รองรับการเพิ่มประสิทธิภาพโมดูล Android ดั้งเดิมที่มีกฎการสร้างพิมพ์เขียวโดยใช้ Automatic Feedback-Directed Optimization (AutoFDO) AutoFDO เป็นเทคนิคการปรับให้เหมาะสมตามการสุ่มตัวอย่าง AutoFDO บันทึกพฤติกรรมรันไทม์ของไบนารีของระบบ ช่วยให้คอมไพเลอร์ปรับปรุงประสิทธิภาพให้ดีขึ้น ขณะเดียวกันก็ลดขนาดไบนารีด้วย AutoFDO รองรับการรวบรวมข้อมูลจากสถาปัตยกรรม AArch32 และ AArch64 แม้ว่าโปรไฟล์จะสามารถนำมาใช้ข้ามสถาปัตยกรรมได้ก็ตาม

AutoFDO เป็นผู้สืบทอดสำหรับ Profile-Guided Optimization (PGO) ที่อิงตามเครื่องมือวัด

เมื่อเปรียบเทียบกับโปรไฟล์ที่อิงตามเครื่องมือวัดอื่นๆ AutoFDO มีคุณประโยชน์เพิ่มเติมเหล่านี้:

  • การรวบรวมข้อมูลที่ไม่เป็นการรบกวน: สามารถรวบรวมโปรไฟล์ AutoFDO จากการพัฒนาหรืออุปกรณ์ผู้ใช้โดยไม่ต้องแก้ไขกฎการสร้างใดๆ

  • การแสดงการใช้งานในโลกแห่งความเป็นจริง: AutoFDO แสดงถึงพฤติกรรมการใช้งานในโลกแห่งความเป็นจริงโดยถือว่าโปรไฟล์ถูกรวบรวมจากอุปกรณ์ของผู้ใช้ ในขณะที่เครื่องมือวัด PGO เป็นตัวแทนของปริมาณงานการรวบรวมสังเคราะห์เท่านั้น โดยทั่วไปแล้ว การสร้างปริมาณงานคอลเลกชันที่ตรงกับการใช้งานจริงไม่ใช่เรื่องตรงไปตรงมา

AOSP มาพร้อมกับโปรไฟล์ AutoFDO สำหรับโครงการที่มีความสำคัญต่อประสิทธิภาพส่วนใหญ่ โปรไฟล์ถูกรวบรวมจากอุปกรณ์โทรศัพท์และแท็บเล็ต และเป็นตัวแทนของรูปแบบการใช้งานทั่วไป โปรไฟล์จะอยู่ภายใต้ toolchain/pgo-profiles/sampling AFDO ถูกเปิดใช้งานตามค่าเริ่มต้นบน AOSP

เปิดใช้งาน AutoFDO สำหรับกฎการสร้างพิมพ์เขียว

หากต้องการเปิดใช้งาน AutoFDO สำหรับกฎการสร้างพิมพ์เขียว ให้ผนวก afdo: true เข้ากับไลบรารีที่ใช้ร่วมกันหรือกฎไบนารี

รวบรวมโปรไฟล์

โปรไฟล์ที่รวมไว้ล่วงหน้าที่มาพร้อมกับ AOSP ไม่รองรับสถานการณ์เฉพาะเหล่านี้:

  • การรวมโครงการ AutoFDO เพิ่มเติม
  • การมีอยู่ของรหัสที่แก้ไขในเครื่อง
  • รูปแบบการใช้งานเฉพาะที่เกี่ยวข้องกับระบบของคุณ

หากคุณมีสถานการณ์อย่างใดอย่างหนึ่งเหล่านี้ คุณต้องรวบรวมโปรไฟล์โดยตรงจากอุปกรณ์การพัฒนาหรือผู้ใช้

สำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีการเตรียมอุปกรณ์ ARM สำหรับการรวบรวมโปรไฟล์ AutoFDO โปรดดูที่ การรวบรวมข้อมูล ETM สำหรับ AutoFDO

สำหรับข้อมูลเกี่ยวกับวิธีการเปิดใช้งานการรวบรวม การประมวลผล และการอัพโหลดโปรไฟล์พื้นหลังอัตโนมัติ โปรดดูที่ Profcollect

วิเคราะห์โปรไฟล์ AutoFDO

Android ใช้โปรไฟล์ LLVM AutoFDO มาตรฐาน โปรไฟล์ AFDO สามารถอ่านได้โดยใช้เครื่องมือ llvm-profdata ของ LLVM สคริปต์ afdo_summary.sh ( toolchain/pgo-profiles/scripts/afdo_summary.sh ) จะสร้างฟังก์ชันที่ดำเนินการบ่อยที่สุดโดยอัตโนมัติตามโปรไฟล์ AutoFDO