不可变:适用于Python的高性能不可变映射类型

时间:2024-03-18 00:45:14
【文件属性】:

文件名称:不可变:适用于Python的高性能不可变映射类型

文件大小:85KB

文件格式:ZIP

更新时间:2024-03-18 00:45:14

python immutable python3 hamt immutable-datastructures

不可变的 Python的不可变映射类型。 基础数据结构是在Clojure,Scala,Haskell和其他功能语言中使用的哈希数组映射树(HAMT)。 CPython 3.7中的contextvars模块中使用了此实现(有关更多详细信息,请参见和 )。 基于HAMT的不可变映射对于set()和get()操作均具有O(log N)性能,对于较小的映射,其本质上为O(1)。 下面是可视化的简单获取/设置基准测试,将HAMT与使用Python dict写入时复制方法实现的不可变映射进行了比较(基准代码可): 安装 immutables需要Python 3.5以上版本,并且在PyPI上可用: $ pip install immutables API immutables.Map是无序的不可变映射。 Map对象是可哈希的,可比较的和可腌制的。 Map对象实现了collections.a


【文件预览】:
immutables-master
----MANIFEST.in(132B)
----README.rst(3KB)
----pytest.ini(111B)
----.github()
--------workflows()
----immutables()
--------py.typed(8B)
--------map.py(23KB)
--------_map.h(2KB)
--------_map.pyi(3KB)
--------_map.c(105KB)
--------pythoncapi_compat.h(6KB)
--------__init__.py(217B)
--------_testutils.py(2KB)
--------_version.py(574B)
----tests()
--------test_issue24.py(5KB)
--------__init__.py(392B)
--------test_none_keys.py(16KB)
--------test_map.py(39KB)
----LICENSE(11KB)
----bench.png(35KB)
----setup.py(3KB)
----.gitignore(180B)
----Makefile(631B)
----.editorconfig(175B)

网友评论