c++ - 如何处理代码中的优化

标签 c++ c optimization

我目前正在为一些代码编写各种优化。这些优化中的每一个都会对代码效率(希望如此)以及源代码产生重大影响。但是我想保留启用和禁用其中任何一个的可能性以进行基准测试。

我传统上使用 #ifdef OPTIM_X_ENABLE/#else/#endif 方法,但代码很快变得难以维护。

还可以为每个优化创建 SCM 分支。在您想要启用或禁用多个优化之前,它对代码可读性要好得多。

有没有其他更好的优化方法?

编辑: 一些优化不能同时进行。我可能需要禁用一个旧的优化来代替一个新的优化,看看我应该保留哪一个。

最佳答案

我会为优化创建一个分支,对它进行基准测试,直到你知道它有显着改进,然后简单地将它合并回主干。一旦它回到主干上,我就不会为#ifdefs 烦恼了;为什么你需要禁用它,一旦你知道它是好的?如果您希望能够回滚特定更改,您始终拥有存储库历史记录。

关于c++ - 如何处理代码中的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995748/

相关文章:

c++ - 如何在 C++ 中通过引用传递 vector 元素?

c++ - 如何在 C 或 C++ 中进行相等比较?

c - 使用 native 编译器和交叉编译器生成相同的目标文件

c - libpcap 源地址和目标地址在捕获的 ipheader 中始终为 NULL。

c - 如何删除 for 语句中方括号内的添加

c++ - 不存在从 LoadTask::MasterFilePtr 到 MasterFile * 的合适转换函数

C++ 将指针转换为指向派生指针的指针指向指向基示例的指针

c - 错误 : expected ';' before number constant

optimization - 为什么Java API 使用int 而不是short 或byte?

c++ - 哪个protobuf优化?