CentOS上优化C++程序启动速度
一 建立可量化的度量
time ./my_app。sudo perf record -g ./my_app(开发环境从启动开始记录),或 sudo perf record -p <PID> -g -F 99 sleep 30(生产环境对运行中进程采样 30 秒),再用 perf report 查看函数级耗时;配合 FlameGraph 可直观识别“启动路径”上最耗时的调用栈。#include <chrono>
auto start = std::chrono::high_resolution_clock::now();
// ... 初始化逻辑 ...
auto dur = std::chrono::high_resolution_clock::now() - start;
std::cout << "init: " << std::chrono::duration<double>(dur).count() << " s\n";
以上方法能帮助你把“慢”的原因从整体指标细化到具体函数与调用栈,从而制定有针对性的优化策略。二 构建与链接阶段的优化
g++ -O3 -march=native -flto -o my_app main.cpp。三 运行时与系统层面的优化
四 快速检查清单与常见陷阱
time 与 perf record -g 确认启动慢在 CPU 计算、系统调用还是 I/O。