use*_*643 1 performance programming-languages
我的好友说,为了效率,他试图用尽可能少的if/else语句进行编程.当我问他为什么说如果/其他人占用该计划资源的一个重要部分时,他就试图远离他们.
他是对的吗?有没有更好的方法来执行if/else样式代码而不实际使用该结构?开关/箱体结构是否更好?
编辑:他不是指一种特定的语言,而是更多的一般做法.以及UNIX/Linux和Windows平台.
通常,编译器将if/then/else构造表示为测试,然后跳转到代码中的另一个位置.对于任何处理器而言,这都是非常标准且经过优化的操作.除非您使用标准编译或解释语言以外的其他方式编程,否则您的好友的结论存在严重缺陷.
此外,优化此级别的代码而不首先对其进行分析(找到慢位的位置)是不明智的.(更像是完全浪费程序员的时间.)
switch/case 语句与所有现代优化编译器的 if 语句具有相同的速度。
您的好友正在编写意大利面条式代码。
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |