ระบบบิลด์ของ 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