分支微优化

时间:2015-01-22 00:24:29

标签: optimization

            if (m_size == m_capacity - 1)
                resize(m_capacity * 1.2); 

在考虑深度CPU流水线和一小段代码时,我的问题真的出现了。根据我的理解,这里要做的是两条指令,它们取决于彼此的结果,所以我们假设情况更糟。

(m_capacity - 1)---等待---(结果== m_size)---等等---分支小姐

除非我们使用预先计算的修改存储m_capacity。

(m_capacity == m_size)---等待---分行小姐

我不确定这些等待会持续多长时间,并且我确定它们具有CPU特定性,但是值得执行此类优化还是CPU有解决方法?

尽管可能不建议在微观范围内进行优化,但仍然很清楚会发生什么。

0 个答案:

没有答案