![]() |
1
12
虽然不应该仅仅为了副作用而创建map对象,但实际上有一个标准的方法可以使用
对于“完全消费”的情况,可以简化为
使用
时机:
当然,这都是基于cpython的。在其他Python实现中,解释程序开销的整个性质是非常不同的,并且
|
![]() |
2
8
如果你只关心cpython,
但是这依赖于CPython的C实现中的优化。
特别是在PyPy,在源头上没有这样的优化,
二
jit无法优化
比较时间(在用户回答中使用相同的测试: 三
没有其他主要解释器的3.x版本,我也没有任何一个版本的ipython,但是用jython进行的快速测试显示了类似的效果。 因此,最快的便携实现是:
这当然给了我127美元在CPython,和1.41US在PyPy。 1。当然,您可以编写一个自定义的C扩展,但它只会以一个很小的常量更快——您可以在跳转到快速路径之前避免构造函数调用和测试,但一旦进入该循环,您就必须准确地执行它正在执行的操作。
2。通过pypy源代码进行跟踪总是很有趣的,但我认为它最终会在
三.cpython 3.6.4;pypy 5.10.1/3.5.3;都来自各自的标准64位macos安装程序。 |
|
Julia · 矢量中相加为总和S的值的数量 1 年前 |
![]() |
apetrai · 我应该如何假设算法使用哪种迭代器类别? 2 年前 |
![]() |
Pratik · 不使用Java DeepCopy迭代器 6 年前 |
![]() |
PanDe · 将两个列表合并为一个Dict、Tuple 6 年前 |
![]() |
bisarch · 迭代哈希集并在每次迭代中删除多个元素 6 年前 |