---
title: 特性说明
description: "该优化通过插桩方式收集程序运行时信息（profile）以支持优化决策，编译器利用这些运行时信息指导各类编译优化，从而生成更高效的目标程序。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/hgcc/hist-hgcc/kunpenghgcc_06_0013.html
sourcePath: /source/zh/kunpengdevkithistory/hgcc/hist-hgcc/kunpenghgcc_06_0013.html
indexId: 266a455a9f8d01f0af350cb9e6adf031badfc640176f410d7969de7e28f5239971
---
# 特性说明

该优化通过插桩方式收集程序运行时信息（profile）以支持优化决策，编译器利用这些运行时信息指导各类编译优化，从而生成更高效的目标程序。

该优化主要包括两种优化方式：

- Edge Profile：在函数CFG(Control Flow Graph)的边上插入计数器，获取程序的运行计数信息。
- Value Profile：由于编译器的优化需要了解某些表达式或变量的取值情况，该优化在插桩过程中插入代码，用于统计这些表达式或变量在运行时的常见取值。程序运行后，生成的 profile文件会被读回编译器，以指导其做出更优的优化决策。目前，GCC支持多种value profile计数功能，包括变量常用取值、数值是否为 2 的幂次、高频间接调用地址、函数首次运行编号等。
