为什么[]比list()更快?

作者: python之禅 | 来源:发表于2019-06-30 07:57 被阅读305次

我最近比较了[]和list()的处理速度,并且惊讶地发现[]运行速度比list()快三倍以上。我跑了相同的测试与{}和dict(),结果几乎相同:[]和{}两个花了大约0.128sec /百万次,而list()和dict()大约花费每个0.428sec /万次。

后来我查了查原因,得到的结论如下:

list()需要全局查找和函数调用,但[]编译为单个指令。

Python 2.7.3

>>> import dis

>>> print dis.dis(lambda: list())

  1          0 LOAD_GLOBAL              0 (list)

              3 CALL_FUNCTION            0

              6 RETURN_VALUE       

None

>>> print dis.dis(lambda: [])

  1          0 BUILD_LIST              0

              3 RETURN_VALUE       

None

本文转载自python黑洞网www.pythonheidong.com

相关文章

  • 为什么[]比list()更快?

    我最近比较了[]和list()的处理速度,并且惊讶地发现[]运行速度比list()快三倍以上。我跑了相同的测试与{...

  • 数组相关问题以及操作大集合

    1.比较数组和List谁更快? 就添加和遍历来讲,数组运行速度确实比List更快,但是数据量不大的情况下两者几乎无...

  • 为什么他比别人更快

    今天是阅读《思维力量》的第10天,今天的章节是结果导向性思维VS活动导向性思维 《好好学习》的作者成甲,第一本书就...

  • 为什么不能比光速更快?

    爱因斯坦曾把光速称为“宇宙的极限速度”。他声称旅行速度超过光速会违反因果关系原则。对于外行来说,这意味着因果关系。...

  • 为什么谣言比真相跑得更快?

    昨天听《得到》,听到这个很有意思的话题《为什么谣言比真相跑得更快》,分享给读者们。 英国政治家温斯顿·丘吉尔曾经说...

  • 比念头更快

    青松披霞,残阳如血。 如血的不只有残阳,还有一只眼睛,血乌鸦的眼睛,血乌鸦只有一只眼睛。 他现在正用这只血红的眼睛...

  • 为什么别人比你年轻,夏季防晒你必须知道的事

    为什么要防晒 你想没有想过,夏天来了,为什么只有你被晒黑了?毕业几年,为什么你老的比别人更快? 很多朋友早晚护肤非...

  • Boolan_C++_OOP

    为什么 学习 C++? 他的效率 比其他 面向对象 语言,更快。 作用域,Scope 大括号 以 良好的方式, ...

  • [网上都说操作真实 DOM 慢,但测试结果却比 React 更快

    网上都说操作真实 DOM 慢,但测试结果却比 React 更快,为什么? 作者:尤雨溪链接:https://www...

  • list -> tensor

    神奇发现:list->array->tensor比list->tensor快

网友评论

    本文标题:为什么[]比list()更快?

    本文链接:https://www.haomeiwen.com/subject/ppevcctx.html