如何使用 PGO 构建 ClickHouse?
- 以插桩模式构建 ClickHouse。在 Clang 中,可以通过向
CXXFLAGS传递-fprofile-generate选项来实现。 - 在样本工作负载上运行插桩版 ClickHouse。这里需要使用你平时的工作负载。一种做法是使用 ClickBench 作为样本工作负载。插桩模式下的 ClickHouse 可能运行较慢,因此请提前做好准备,并且不要在对性能敏感的环境中运行插桩版 ClickHouse。
- 使用
-fprofile-use编译器标志以及上一步收集到的 profile,再次编译 ClickHouse。