首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >赋值与增量运算

问赋值与增量运算
EN

Stack Overflow用户
提问于 2012-06-15 07:06:47
回答 1查看 2K关注 0票数 2

我在一个应用程序中工作,在这个应用程序中,我必须保持数据的序列化,每个数据单元都有一个序列号,我检查序列号是否比前一个序列号大1,如果是,我将接收的计数增加1。我的问题是,是否有区别:

  1. 将我的接收计数增加1。

以及

  • 将最后接收到的序列号分配给接收到的计数。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-15 07:15:00

对我来说,这听起来像是一个经典的过早优化问题。通常增加值意味着"fetch original->change->store",而赋值是"fetch other->store new“。"other“可能已经被获取了,因此节省了更多的时钟周期。因此,赋值可能会更快。

但是递增1通常被编译器和CPU优化得很好,所以它不需要任何获取或存储。它可以很好地在一个CPU命令中完成,从而消除任何差异,并且实际上使增量1在性能方面可能更好。

迷惑了?好的。

重点是,这是你应该而不是正在做的那种优化,除非你基准测试了一个瓶颈。然后,您对选项进行基准测试,并选择最佳选项。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11042565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档