考虑以下场景:
我有 2 个常量MAX & MIN
我得到一个新号码x
现在检查 x 是否在给定的愤怒中,我会做这样的事情:
if(x >= MIN && X <= MAX)
{
//Some logic
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更好的方法来谈论效率。我确实知道这是一项非常简单的任务,但我只是想知道是否有更好的方法
首先,这是一个典型的微优化案例,几乎没有回报。
话虽如此,“优化”这一点的唯一方法是,如果您事先知道其中一个比较极有可能产生false. 如果有,则先进行比较,以利用布尔短路评估。
if (x >= MIN && x <= MAX) { ... } // most efficient if x >= MIN is hardly ever true
Run Code Online (Sandbox Code Playgroud)
或者
if (x <= MAX && x >= MIN) { ... } // most efficient if x <= MAX is hardly ever true
Run Code Online (Sandbox Code Playgroud)
如果这两种比较都无法预测,那么我们都浪费了时间......
| 归档时间: |
|
| 查看次数: |
5452 次 |
| 最近记录: |