switch-case 与 if-else

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了switch-case 与 if-else脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_360_0@- 条件较多或满足条件概率高的语句靠前,if-else 比 swITch 效率高。
- 条件较多或满足条件概率高的语句靠后,switch 比 if-else 效率高。
- 条件较少的情况下,编译器不会做任何优化(不优化比优化好),switch 底层汇编会出现 "cmp" 比较,效率和 if-else 相同。
- 条件较多的情况下,switch 会有算法寻址,效率比 if-else 高。
- 顺序完整的情况下,如果乱序, switch 底层优化没有任何影响。
- 顺序残缺的情况下,如果跨度不大, switch 底层优化会将所有残缺的 case 地址在内存中保存为 default 的地址。
- 顺序残缺的情况下,如果跨度较大, switch 底层优化会用一块内存以一个字节为单位来存放case 1 ~ case N。
- 顺序残缺的情况下,如果跨度很大, switch 底层就开始和 if-else 一样进行 'cmp' 比较,没必要空间换时间了。
- if-else 可以进行区间比较,switch 只能进行单个整数等值比较。

脚本宝典总结

以上是脚本宝典为你收集整理的switch-case 与 if-else全部内容,希望文章能够帮你解决switch-case 与 if-else所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。