在 Ubuntu 上跑 C++ 程序“慢”,原因可能非常多,一般可以分成编译慢和运行慢两类。下面按常见原因给你梳理一下,并给出排查方向。
g++ -O0 或默认模式编译,调试信息多、未优化✅ 解决:
g++ -O2 main.cpp
# 或
cmake -DCMAKE_BUILD_TYPE=Release ..
#include <bits/stdc++.h>✅ 解决:
Ubuntu 默认可能只用 1 个核
✅ 解决:
make -j$(nproc)
✅ 解决:
/dev/shm)✅ 排查:
gprof ./a.out
# 或
perf top
Release 和 Debug 性能差距可达 5–10 倍
new/delete 太多✅ 解决:
reserveulimit -a
✅ 解决:
top
htop
你可以先回答这几个问题,我能更精确判断:
g++ / clang)?-O2?如果你愿意,可以把代码或编译命令贴出来,我可以直接帮你定位。