การเพิ่มประสิทธิภาพตามความคิดเห็นอัตโนมัติ (12 ขึ้นไป)

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