【问题标题】:Compile-time performance difference between if(flag) and if(flag !=0)? [duplicate]if(flag) 和 if(flag !=0) 之间的编译时性能差异? [复制]
【发布时间】:2017-06-02 14:50:34
【问题描述】:

两者之间有没有性能差异

if (flag) {...} 

if (flag!=0) {...}

考虑编译器执行时间或所需资源。

【问题讨论】:

  • 类型,类型...
  • 澄清一下,您问的不是编译器生成的结果代码,而是编译过程本身?
  • 更多文本意味着编译器必须解析更多文本。那里可能有几纳秒的差异。
  • @Some 程序员老兄 YES
  • 那么是有区别的,但是您需要一个高分辨率的时钟才能注意到区别。或者在单个源文件中拥有数百万甚至 数百万 条这样的语句。甚至可能没有(可测量的)差异,因为编译器必须为两个不同的表达式做不同的事情,而这些差异可能会相互抵消。

标签: c if-statement optimization boolean embedded


【解决方案1】:

不,如果 flag 是整数类型,则没有实际区别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2013-06-01
    相关资源
    最近更新 更多