关于性能:在哪里可以找到Python中内置序列类型的时间和空间复杂度

关于性能:在哪里可以找到Python中内置序列类型的时间和空间复杂度

Where can I find the time and space complexity of the built-in sequence types in Python

我一直无法找到这些信息的来源,除非自己亲自检查Python源代码来确定对象的工作方式。有人知道我可以在网上找到吗?


在py dot org Wiki上检出TimeComplexity页面。它至少涉及时间复杂度的设置/字典/列表/等。


Raymond D. Hettinger对Python的内置集合("核心Python容器-幕后")进行了精彩的演讲(幻灯片)。我看到的版本主要集中在setdict上,但也涵盖了list

在博客中也有一些来自EuroPython的相关幻灯片的照片。

这是我在list上的注释的摘要:

  • 将项目存储为指针数组。下标花费O(1)时间。追加费用摊销O(1)时间。插入成本为O(n)时间。
  • 尝试通过过度分配来避免memcpy。许多小型列表会浪费大量空间,但是大型列表绝不会浪费超过12.5%的过度分配空间。
  • 一些操作会预先确定大小。给出的示例是range(n)map()list()[None] * n和切片。
  • 缩小时,仅在浪费50%的空间时对数组进行realloc格式化。 pop很便宜。

如果您问的是我想问的问题,则可以在此处找到它们……第476页及以后。

它是围绕Python优化技术编写的;主要是时间效率的Big-O表示法,没有太多的内存。


推荐阅读

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    优化PostgreSQL中的批量更新性能

    优化PostgreSQL中的批量更新性能,数据,表格,在Ubuntu 12.04上使用PG 9.1. 我们目前需要24小时才能运行大量UPDATE数据库上的语句,其形式

    诺基亚威图性能好到哪里

    诺基亚威图性能好到哪里,诺基亚,手机,诺基亚威图性能好到哪里这是一部以前列出的手机。即使当时配置不高,该品牌的手机也不依赖于该功能吸

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    公共CPU接口类型的详细描述

    公共CPU接口类型的详细描述,,我们知道CPU是电脑的大脑, CPU的处理速度直接决定电脑的性能, 那你知道CPU发展到现在, 都那些CPU接口类型吗.

    主板类型百科全书(基于芯片分类)

    主板类型百科全书(基于芯片分类),,电脑维修基础之主板型号熟悉,主板芯片型号区分,涵盖nVIDIA系列intel系列AMD系列主板型号,主板型号大全内容较

    国产电脑cpu测试|国产CPU性能

    国产电脑cpu测试|国产CPU性能,,国产CPU性能天玑9000答: 天玑9000更厉害。因为天玑9000是 最新发布的cpu,也是现在的天花板。而麒麟9000是 2

    主流电脑cpu性能分析|cpu性能对比表

    主流电脑cpu性能分析|cpu性能对比表,,1. cpu性能对比表一、参数对比1、r7 5800H:制程工艺为7nm,主频3.2GHz,睿频4.4GHz,线程数是8核16线程,45W