|
|
1
1
您的直觉是正确的——将中间结果保存在变量中,而不是多次重新调用方法,速度更快。通常情况下,性能差异太小,无法衡量,但有一个更好的理由这样做——清晰度。通过将值保存到变量中,可以清楚地表明您打算在任何地方使用相同的值;如果多次重新调用该方法,则不清楚是否正在这样做,因为您希望它在不同的调用中返回不同的结果。(例如,
|
|
2
0
这两种密码的唯一不同之处是,在第一种密码中,您可以拨打两次
因此,第二个版本总体上要快一点,但如果列表没有显示,您将不会感觉到任何差异。 |
|
|
3
0
这取决于“rules”对象的数据结构类型。如果它是一个列表,那么是的,第二个更快,因为它不需要通过rules.get(i)搜索rules(i)。如果它是允许您立即了解规则的数据类型。get(i)(类似于数组),则它是相同的。。 |
|
|
4
0
一般来说,如果第一次调用,它可能会稍微快一点(我猜是纳秒)。稍后,JIT编译器可能会对其进行改进。 但你所做的就是所谓的过早优化。通常不应该考虑只会带来微不足道的性能改进的事情。 更重要的是代码的可读性,以便以后维护。 您甚至可以做更多过早的优化,比如将长度保存在局部变量中,这是由for-each循环内部完成的。但在99%的情况下,这样做也没有意义。 |
|
|
ShaAnder · 为什么sqllachemy返回的是类而不是字符串 1 年前 |
|
|
D_chez12 · 如果对象键值为空,则过滤掉数组中的对象 1 年前 |
|
MeltingDog · 如何检索嵌套的JS对象并通过索引获取其数据? 1 年前 |
|
VonDerHase · 从列表中删除特定值,Python 2 年前 |