English 中文(简体)
与计算长度相比,计数为零―― 1
原标题:Counting down to zero in contrast to counting up to length - 1

Is it recommended to count in small loops (where possible) down from length - 1 to zero instead of counting up to length - 1?

1) 下降

for (int i = a.length - 1; i >= 0; i--) {
    if (a[i] == key) return i;
}

b) ing

for (int i = 0; i < a.length; i++) {
    if (a[i] == key) return i;
}

第一个是稍快的,第二个是(因为与零相比较快),但在我看来,差不多有错误。 此外,可能无法通过今后改进联合核查机制来优化第一个机制。 任何这方面的想法?

最佳回答

如果你在变数中存储透镜的结果,如果真的如此,它就会赢得任何“faster”。 无论如何,这种三方行动的执行情况很少令人担忧。 重点是这种方法的可读性。

对我来说,计票更可读。

问题回答

我认为,更有利于公约和可读性(在这种情况下,计算方法)而不是先发制人选择。 据Scott Blach说,在你确信需要选择之前,最好不要选择你的代码。

下降幅度往往较慢,尽管有可能取消一台机器代码指示。 在当今时代,业绩简便。 竞争者选择了前进道路,因此,如果选择选择,就会错失。 海滩硬件用于正常的前沿扫描。 因此,不担心这种微观刺激(如果你在确实需要衡量的情况下发现这种情况)。

我建议你确保制定基准,显示这是一个业绩问题,然后再作如此之大的改动。 d 我每天可读最多(我认为是点数上升)。

如果是微观优化,不相信汇编者做正确的事情,那么也许你应考虑在第二处的变数中打下宽度,以避免间接影响。

d 我说,如果有理由将一种方式与另一种方式(清单中项目的检验顺序)相加,那么在不试图加入公约的情况下,不会有扭曲性。 如果存在禁忌,则使下一个人更容易从事公约的工作和公正加入公约。

相比之下,对 in子的比较确实是一个令人关切的问题。

“我们应当忘记效率不高,大约占时间的97%:过早优化是一切邪恶的根源”,Donald Knuth。

在这种情况下,我想说,只有丧失可读性,任何可能的业绩收益都将被抵消。 管道工时比起点工时昂贵得多。

P.S.:为了进一步改善业绩,你应考虑将不平等检测到零。 但是,看着空阵列;





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签