程序
测试程序 test.cpp ( 仅仅是示例,本程序并不会有性能提升):
#include
int m = 50200000;
char arr[4] = {'1', '2', '3', 0};
long test() {
long sum = 0;
int a = 0;
for (a = 0; a
编译:
- 原始程序:
g++ -O2 -o origin
- 生成trace的程序:
g++ -O2 -o trace
运行采样
./trace
这时候会在当前目录生成 test.gcda
针对采样重新编译:
g++ -O2 -fprofile-use -o optimized
最后,生成的 optimized 程序是优化后的二进制文件。
性能对比
用 time 命令查看优化前后的执行时间
time ./origin
time ./optimized
参考文献
- https://dom.as/2009/07/27/profile-guided-optimization-with-gcc/
- http://cboard.cprogramming.com/tech-board/111902-pgo-amazing.html
- https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Optimize-Options.html#Optimize-Options
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: docker desktop 与 wmware tv-x
开启WSL2,获得docker desktop的最佳性能 windows默认拥有WSL1 PS C:Userssupermao> wsl –list –verbose NAME STATE VERSION * kali-linux Stopped 1…