|
|
1
18
第一个更快
它正在做3次手术
在哪里作为 elem 正在查找数组中的项,因此执行多达(99-3)*2个操作。
|
|
|
2
11
(n>=3)amp;&(n<=99)速度更快,因为它只涉及两个微不足道的比较。如果编译器/解释器不进行任何真正的黑魔法优化,它必须构造列表([3..99]),因为不能使用延迟计算(通常在完成之前“拉”下一个值,在这种情况下,它的复杂性为O(n/2)。 |
|
|
3
8
这两个表达的意思不一样。一个微妙的区别在于
因此,例如,如果n为3.14159,那么第一个测试将通过,但第二个测试不会:
再者,当四首前奏曲
因此,一般来说,编译器不能将第二个优化为与第一个相同的速度,除非它知道对于给定的类型,它是
|
|
|
4
-2
取决于机器和编译器(或解释器)。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |