|
1
|
| sum1stolemyname · 技术社区 · 15 年前 |
|
|
1
3
将它们作为引用或常量引用传递,然后再次运行测试。
|
|
|
2
3
注意,在这里编写代码时,您将按值传递向量和映射,也就是说,您将在每次调用时重建每个映射的新副本。这显然是压倒性的搜索时间。
|
|
|
3
1
除了像其他答案提到的那样使用引用来避免复制之外,这里的算法复杂性也有所不同。
简单解释一下,这意味着在向量中查找对象需要K1*n的时间,而映射需要K2*log(n)的时间,其中K1和K2是一些常数,取决于向量和映射的实现。 在实践中哪个更快取决于容器的大小和常量是什么(我认为可以肯定地说k1会更快)。 像缓存一致性这样的东西也会在这里发挥作用,如果你的容器很小,所有的东西都会在缓存中,用于向量,而不是地图(有了缓存,常量也不会是常量,但那是另一回事……) |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |