分配与增量操作

时间:2012-06-14 23:06:47

标签: c performance variable-assignment increment

我正在开发一个应用程序,我必须保持数据排序,每个数据单元都带有一个序列号,我检查序列号是否比前一个大1,如果是,我增加收到的我的问题是,是否有区别:
1.将收到的人数增加一人 和
2.将最后收到的序列号分配给接收的计数。

感谢。

1 个答案:

答案 0 :(得分:6)

这对我来说听起来像是一个经典的过早优化问题。通常,增加值意味着“获取原始 - >更改 - >存储”,而分配将是“获取其他 - >存储新”。可能已经取出“其他”,从而节省了更多的时钟周期。因此,分配可能会更快。

BUT 递增1通常由编译器和CPU非常好地优化,因此它不需要任何提取或存储。它可以很好地在一个CPU命令中完成,从而消除了任何差异,实际上可以在性能上增加1个可能更好的选项。

困惑?好。

重点是,除非您对瓶颈进行基准测试,否则这是要做的优化。然后你对选项进行基准测试并选择最佳选择。