การเพิ่มประสิทธิภาพตามความคิดเห็นอัตโนมัติ (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