ระบบบิลด์ Android ที่เปิดตัวใน Android 12 รองรับการเพิ่มประสิทธิภาพโมดูล Android เนทีฟที่มีกฎการสร้างบิลด์ของพิมพ์เขียวโดยใช้การเพิ่มประสิทธิภาพแบบอัตโนมัติโดยอิงตามความคิดเห็น (AutoFDO) AutoFDO เป็นเทคนิคการเพิ่มประสิทธิภาพที่อิงตามการสุ่มตัวอย่าง AutoFDO บันทึกลักษณะรันไทม์ของระบบ ไบนารีที่ช่วยให้คอมไพเลอร์สามารถเพิ่มประสิทธิภาพการทำงานได้ดีขึ้นไปพร้อมๆ กับ ที่ลดขนาดไบนารี Android รองรับการรวบรวมโปรไฟล์จาก X86, X86_64 อุปกรณ์ ARM และ ARM64 แม้ว่าโปรไฟล์จะสามารถใช้ข้ามสถาปัตยกรรมได้ก็ตาม
AutoFDO เป็นเครื่องมือที่สืบทอดมาจากการเพิ่มประสิทธิภาพตามโปรไฟล์ที่อิงตามเครื่องมือวัด (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