关于性能:在哪里可以找到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表示法,没有太多的内存。


推荐阅读

    linux查看性能的命令?

    linux查看性能的命令?,系统,情况,信息,数据,状态,指标,第一,分析,命令,宏观,l

    linux一般检查命令?

    linux一般检查命令?,网络,系统,检测,情况,工作,信息,命令,进程,时间,设备,lin

    检查硬件linux命令?

    检查硬件linux命令?,信息,系统,第一,数据,设备,检测,命令,情况,灵活,实时,如

    查看linux库类型命令?

    查看linux库类型命令?,系统,工作,信息,状态,电脑,命令,工具,代码,地址,发行,

    linux网卡类型命令?

    linux网卡类型命令?,网络,系统,地址,信息,设备,状态,服务,名称,名字,网卡,如

    检查路由命令linux?

    检查路由命令linux?,网络,地址,系统,信息,工具,电脑,时间,通信,服务,命令,lin

    linux数据库检查命令?

    linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,

    linux分区检查命令是?

    linux分区检查命令是?,系统,设备,工具,管理,情况,信息,检测,分区,密码,单位,

    linux性能测试命令?

    linux性能测试命令?,数据,系统,工具,标准,设备,地址,情况,基础,网络,环境,如

    linux检查流量的命令?

    linux检查流量的命令?,工具,系统,实时,状态,网络,信息,数据,密码,地址,流量,l

    linux查看命令类型用?

    linux查看命令类型用?,信息,系统,情况,命令,实时,工作,设备,电脑,文件,类型,

    linux命令三种类型?

    linux命令三种类型?,工作,地址,系统,标准,时间,管理,命令,目录,信息,文件,lin

    linux检查更新命令是?

    linux检查更新命令是?,工作,软件,地址,系统,信息,管理,命令,目录,最新,标准,l

    linux命令3d性能?

    linux命令3d性能?,系统,工具,实时,百分比,信息,分析,软件,情况,网站,建设,Lin

    命令检查linux版本?

    命令检查linux版本?,系统,地址,信息,发行,名称,电脑,版本,连续,工具,周期,在L

    linux性能管理命令?

    linux性能管理命令?,工具,系统,信息,状态,网络,情况,工作,时间,短信,平均,lin

    linux内存检查命令?

    linux内存检查命令?,情况,系统,信息,工具,实时,分析,状态,内存,命令,总量,查

    linux性能调参命令?

    linux性能调参命令?,工具,工作,信息,网络,分析,系统,地址,实时,管理,状态,在l

    linux下节点检查命令?

    linux下节点检查命令?,系统,信息,工作,名称,命令,地址,情况,文件,服务,第一,l

    linux性能找不打命令?

    linux性能找不打命令?,系统,实时,软件,名字,分析,信息,情况,工具,电脑,时间,l