---
title: 自动反馈优化
description: "PGO（Profile-Guided Optimization）是一种编译器优化技术，通过编译器插桩收集程序运行时信息进行优化决策。编译器根据这些运行时信息指导各种编译优化技术进行更准确的优化决策，生成更优的目标程序。"
url: https://www.hikunpeng.com/document/detail/zh/nativedevp/twp/Kunpeng_Development_0051.html
sourcePath: /source/zh/nativedevp/twp/Kunpeng_Development_0051.html
indexId: f3c3babd6ca6b744fa21e3e547bd28bc20b0ff16771b960384d2128d2f795cdb55
---
# 自动反馈优化

PGO（Profile-Guided Optimization）是一种编译器优化技术，通过编译器插桩收集程序运行时信息进行优化决策。编译器根据这些运行时信息指导各种编译优化技术进行更准确的优化决策，生成更优的目标程序。

A-FOT是一款用于提升编译器GCC for openEuler自动反馈优化特性的工具，支持以下三种模式：

- AutoFDO：PGO的简化部署版，使用perf替代插桩获取程序运行profile，受益优化点包括矢量化、循环展开、循环剥离等优化。
- AutoPrefetch：增强版预取优化，根据Dcache访问、存取指令Cache Miss率，获取数据访问优化代码块并进行预取优化，同时优化预取提前量，建议和AutoFDO共同使用。
- AutoBOLT：链接后二进制优化，对控制流复杂的程序具有显著的优化效果，主要优化包括BB重排、函数重排、冷热分区等优化，与AutoFDO、AutoPrefetch部分冲突。

A-FOT安装部署指导请参见《鲲鹏原生开发 流水线阶段 用户指南》中的安装A-FOT工具(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/install/NativeDevelopment_0045.html)。
