繁体   English   中英

JS switch语句:最可能的情况优化重要吗?

[英]JS switch statements: Does most-likely-case optimisation matter?

假设这个构造

switch(foo) {
    case "foo":
        // ...
    break;
    case "bar":
        // ...
    break;
    ...
    default:
        // ...
    break;
}

或类似的条件块(仅适用于通用逻辑运算符),在性能方面,将最可能出现的条件放在首位是否有意义?

如果是这样,那么开始变得有意义的门槛与找出最可能的情况的“麻烦”是什么?

这种微优化将导致比解决的问题更多的问题。 使用Javascript,由于JS引擎抽象了许多实现细节,因此相对难以评估这种构造。 分析可能也不是很有见地。

JS是一种脚本语言,而不是C。使您的代码易于理解和简洁-顺便说一句,无论您使用哪种语言编写,这始终是您的口头禅。

答案是肯定的。 如果您知道某件事情的真实百分比要高得多,为什么不把它放在第一位呢? 我相信即使使用脚本语言也可以进行编程。

但是,仅仅因为有意义就没有必要。 如果是不经常运行的代码,那么订单的重要性就可以忽略不计。 但是,具有多个条件语句的大型循环中的代码可能会稍微减慢算法的速度。

当您注意到时滞时,就该担心它了。 即使那样,重构条件的顺序也可能是我要做的事情的最底层。

可以买到任何东西的门槛是,当您随机将其暂停几次时,您在执行该switch语句的过程中看到了它,而不是完全看到其他东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM