“Ubuntu 下 C++ 很慢”这个说法其实有点模糊,通常并不是 C++ 语言本身 慢,而是编译、运行环境或开发方式在 Ubuntu 上让你感觉慢。下面按常见原因给你系统梳理一下。
g++ main.cpp
默认是 无优化 + Debug 信息,编译慢、运行也慢。
✅ 正确做法:
g++ -O2 main.cpp
# 或
g++ -O3 -march=native main.cpp
Ubuntu 默认使用 libstdc++ + 大量模板
#include <bits/stdc++.h>
虽然方便,但会显著拖慢编译。
✅ 建议:
ccachesudo apt install ccache
export CXX="ccache g++"
make
单线程编译当然慢。
✅ 使用:
make -j$(nproc)
Ubuntu 上的:
trackerbaloo会在编译时扫描大量文件,导致极慢。
✅ 检查:
top
看是否有 tracker-miner 占用 CPU。
如果你是在 Windows 的 WSL Ubuntu 里跑:
✅ 建议:
~/ 下)/mnt/c如果是:
只分配了 1 核 / 2G 内存
那 C++ 编译和运行时都会很慢。
例如:
vector<int> v;
v.push_back(...) // 没 reserve
或频繁 new/delete
✅ 优化:
v.reserve(100000);
事实上:
g++ / clangC++ 在 Ubuntu 上可以非常快,只是:
默认配置 ≠ 高性能配置
你可以对照一下:
-O2/-O3如果你愿意,可以告诉我:
g++ --version)我可以直接帮你定位并给优化方案。