kee*_*eda 1 c performance increment variable-assignment
我正在开发一个应用程序,我必须保持数据排序,每个数据单元都带有一个序列号,我检查序列号是否比前一个序列号大1,如果是,我将收到的计数增加1我的问题是,是否存在以下差异:
1.将收到的数量增加一个.
AND
2.将最后收到的序列号分配给接收的计数.
谢谢.
这听起来像是一个经典的过早优化问题.通常,增加值意味着"获取原始 - >更改 - >存储",而分配将是"获取其他 - >存储新".可能已经取出"其他",从而节省了更多的时钟周期.因此,分配可能会更快.
但是,增量1通常由编译器和CPU非常好地优化,因此它不需要任何提取或存储.它可以很好地在一个CPU命令中完成,从而消除任何差异,并且实际上可以通过1增加可能更好的选项性能.
困惑?好.
重点是,这是你不应该做的优化,除非你对瓶颈进行基准测试.然后您对选项进行基准测试并选择最佳选项.