performance - if then else 的效率.... break 与 if break if break

标签 performance control-flow

是否有效率偏好以下控制流选项之一用于循环或切换另一个?

选项 1:

switch(...){
    case 1:
        if (...) { ... }
        else if (...) { ... }
        else if (...) { ... }
        .
        .
        .
        else if (...) { ... }
        break;
    case 2:
    .
    .
    .
}

选项 2:

switch(...){
    case 1:
        if (...) { ... break; }
        if (...) { ... break; }
        .
        .
        .
        if (...) { ... break; }
    case 2:
    .
    .
    .
}

最佳答案

没有。任何理智的编译器都会生成相同的输出(汇编、字节码等)。对于两者。

您可以使用 gcc -S 为两个版本生成程序集来演示这一点。

关于performance - if then else 的效率.... break 与 if break if break,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877168/

相关文章:

c - 使用反射输入计算 CRC64 的最有效方法

performance - translate3d 使用 css3 动画效果更好吗?

python - 如何加速 JavaScript 网页抓取的过程?

python - 为什么 else 在 for/while 语句中的行为与 if/try 语句不同?

algorithm - 确定最大堆栈深度

javascript - "Call stack"用于 node.js 中的回调

java - 打开 Activity 时如何停止 'jumping effect'?

javascript - GoogleSearch 如何预渲染图像?

c# - 在 C# 中控制和管理复杂的程序流

python - 难以理解 python 类中的控制流(在谷歌应用引擎中)