在 Ubuntu 上优化 C++ 编译速度和生成程序性能,可以从编译参数、构建系统、工具链、系统环境几个方面入手。下面按“实用优先级”给你一套方案。
make -j$(nproc)
或 CMake:
cmake --build build -j$(nproc)
ccache(强烈推荐)避免重复编译相同代码:
sudo apt install ccache
export CC="ccache gcc"
export CXX="ccache g++"
或 CMake:
cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache .
sudo apt install ninja-build
cmake -G Ninja .
ninja
include 整个大库示例:
class Foo; // 前置声明
CMake 示例:
target_precompile_headers(myapp PRIVATE stdafx.h)
import std;
需 GCC 11+ 或 Clang 16+
-O2
或极致:
-O3
-march=native -mtune=native
-flto
CMake:
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
sudo apt install mold
-Wl,--ld-path=mold
或 lld:
sudo apt install lld
sudo apt install g++-12
或:
sudo apt install clang
mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS "-O3 -march=native -flto")
set(CMAKE_CXX_COMPILER_LAUNCHER ccache)
-jccacheNinjamoldLTO如果你愿意,可以告诉我:
我可以直接给你一套定制配置。