【问题标题】:Which one of the following codes is faster in excecution? [closed]以下哪个代码执行速度更快? [关闭]
【发布时间】:2016-01-18 16:19:42
【问题描述】:

基本上哪一个代码会返回 0,更快?

// 如果答案是“相同”,因为代码比想象的要简单,以相同方式编写但代码更多的更复杂的代码变体。

代码 1:

int a = 0;

if(a == 1){ 
    return 1;
}else{
    return 0;
}

代码 2:

int a = 0;

if(a == 1){ 
    return 1;
}
return 0;

【问题讨论】:

  • 这是某种测验吗?只需对自己进行基准测试。
  • 生成(优化)程序集,如果有任何不同,请自行查找。
  • 无论代码多么简单或复杂,它们可能具有相同的性能。这是因为两个 sn-ps 是等效的,并且很可能会编译成相同的代码。
  • 假设编译器实际上为两者生成了不同的代码(它可能不会),差异将无法测量。
  • 它们基本相同。我认为不会有区别

标签: c performance execution-time


【解决方案1】:

编译器生成的代码不会有任何区别。 else 是不必要的,但为了清楚起见可以写出来。

【讨论】:

    猜你喜欢
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多