【发布时间】:2010-10-22 10:01:29
【问题描述】:
我目前正在为一些代码编写各种优化。这些优化中的每一个都对代码效率(希望如此)以及源代码产生重大影响。但是,我想保留启用和禁用其中任何一个以进行基准测试的可能性。
我传统上使用#ifdef OPTIM_X_ENABLE/#else/#endif 方法,但代码很快变得难以维护。
还可以为每个优化创建 SCM 分支。在您想要启用或禁用多个优化之前,代码可读性要好得多。
还有其他更好的优化方法吗?
编辑: 一些优化不能同时工作。我可能需要禁用旧的优化来换取新的优化,看看我应该保留哪一个。
【问题讨论】:
-
对我来说听起来很可怕:)
-
为什么要禁用优化?要么它们起作用,产生影响,然后它们应该成为代码库的一部分,要么它们没有任何作用,那么启用它们就没有意义了。
-
如上所述,这是一件奇怪的事情。这些是特定于平台的优化吗?您是否要确保保留某些算法的安全版本,以防在优化代码中发现错误?或者您是否想保留易于理解的代码以用于文档目的。
标签: c++ c optimization