OB的PGO优化支持

【 使用环境 】生产环境 or 测试环境
Linux
【 OB or 其他组件 】
任意OB版本
【 使用版本 】
【问题描述】清晰明确描述问题

测试编译优化的profile-guide optimization后的OB性能如何。可以看到ob源码中有类似选项支持:

./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:877:    append("-fprofile-generate=\"${LLVM_PROFILE_DATA_DIR}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:881:        append("-fprofile-generate=\"${LLVM_PROFILE_DATA_DIR}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:895:    append("-fprofile-instr-generate=\"${LLVM_PROFILE_FILE_PATTERN}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:899:      append("-fprofile-instr-generate=\"${LLVM_PROFILE_FILE_PATTERN}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:930:    append("-fprofile-instr-use=\"${LLVM_PROFDATA_FILE}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:934:      append("-fprofile-instr-use=\"${LLVM_PROFDATA_FILE}\""
./deps/3rd/usr/local/oceanbase/devtools/lib/cmake/llvm/HandleLLVMOptions.cmake:945:append_if(LLVM_BUILD_INSTRUMENTED_COVERAGE "-fprofile-instr-generate=\"${LLVM_PROFILE_FILE_PATTERN}\" -fcoverage-mapping"

例如-fprofile-generate -fprofile-use,但是没有找到具体如何使用的说明,期望可以指点一下?

【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

稍等,我联系编译相关的同学帮你看看

PGO也叫FDO,反馈编译优化部分,功能集成,相关开关用的是“FDO”进行命名,可以在build.sh中查找关于“-DENABLE_AUTO_FDO”这个变量,然后一点点在cmake文件中进行深入。

感谢,我先尝试一下!

这几天测试了一下,确定一下我的步骤是否对:
1)ENABLE_AUTO_FDO没有使能的情况下,编译,然后使用perf采样;
2)转换为observer.prof文件,移动到编译目录的顶层;
3)打开ENABLE_AUTO_FDO,再次打包测试;

请教一下第二步转换为observer.prof的过程参考网上的方式是否可行,例如create_llvm_prof,或者oceanbase本身是否也提供了类似工具?

感谢!