Guppy 3 -- 移植到 Python 3 的 Guppy-PE
项目描述
孔雀鱼 3
一个 Python 编程环境和堆分析工具集。
这个包包含以下子包:
- 等 - 支持模块。尤其包含 Glue 协议模块。
- gsl - Guppy 规范语言实现。这可用于从公共来源创建文档和测试。
- heapy - 堆分析工具集。它可用于查找有关堆中对象的信息并以各种方式显示这些信息。
- sets - 在 C 中实现的位集和“节点集”。
Guppy 3 是 Guppy-PE 的一个分支,由 Sverker Nilsson 为 Python 2 创建。
要求
您应该拥有 Python 3.6、3.7、3.8 或 3.9。此包仅适用于 CPython;不支持 PyPy 和其他 Python 实现。可以从Sverker Nilsson 的guppy-pe获得对 Python 2 的支持,这个包就是从那里派生出来的。
要使用图形浏览器,需要 Tkinter。要使用远程监视器,线程必须可用。
安装
通过 pip 安装:
pip install guppy3
通过以下方式使用 conda 安装:
conda install -c conda-forge guppy3
用法
下面的例子显示
- 如何创建会话上下文:
h=hpy()
- 如何显示堆中的可达对象:
h.heap()
- 如何显示从根到单个最大对象的最短路径:
h.heap().byid[0].sp
- 如何创建和显示一组对象:
h.iso(1,[],{})
>>> from guppy import hpy; h=hpy()
>>> h.heap()
Partition of a set of 30976 objects. Total size = 3544220 bytes.
Index Count % Size % Cumulative % Kind (class / dict of class)
0 8292 27 739022 21 739022 21 str
1 7834 25 625624 18 1364646 39 tuple
2 2079 7 300624 8 1665270 47 types.CodeType
3 400 1 297088 8 1962358 55 type
4 4168 13 279278 8 2241636 63 bytes
5 1869 6 269136 8 2510772 71 function
6 400 1 228464 6 2739236 77 dict of type
7 79 0 139704 4 2878940 81 dict of module
8 1061 3 93368 3 2972308 84 types.WrapperDescriptorType
9 172 1 81712 2 3054020 86 dict (no owner)
<89 more rows. Type e.g. '_.more' to view.>
>>> h.heap().byid[0].sp
0: h.Root.i0_modules['os'].__dict__
>>> h.iso(1,[],{})
Partition of a set of 3 objects. Total size = 348 bytes.
Index Count % Size % Cumulative % Kind (class / dict of class)
0 1 33 248 71 248 71 dict (no owner)
1 1 33 72 21 320 92 list
2 1 33 28 8 348 100 int
>>>
人们写了关于如何使用这个工具集的很棒的帖子,包括:
- 如何使用 guppy/heapy 跟踪内存使用情况
- 使用 TrackRefs 和 Guppy 调试 Django 内存泄漏
- 在 Python 中诊断内存“泄漏”
- 用 heapy 挖掘 ckan 中的 python 内存问题
还提供正式和 API 文档。
贡献
欢迎提出问题和拉取请求。您还可以就使用此工具集寻求帮助;但是,在这种情况下,我们只会提供指导,不会为您分析您的代码。
请确保根据需要更新测试。
测试
要测试大量构建和安装是否正常,您可以执行以下操作:
>>> from guppy import hpy
>>> hpy().test()
Testing sets
Test #0
Test #1
Test #2
...
将会有更多的测试。有些测试可能需要一段时间。
执照
版权所有 (C) 2005-2013 Sverker Nilsson, S. Nilsson Computer System AB
版权所有 (C) 2019-2021 朱逸飞
授予根据通常称为 MIT 许可的规则复制、使用、修改和重新分发此代码的权利。
*** 使用风险自负,请注意这是早期版本 ***
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
guppy3-3.1.2.tar.gz
(335.1 kB
查看哈希)
内置发行版
guppy3-3.1.2-cp310-cp310-win_amd64.whl
(357.1 kB
查看哈希)
guppy3-3.1.2-cp310-cp310-win32.whl
(342.4 kB
查看哈希)
guppy3-3.1.2-cp39-cp39-win_amd64.whl
(357.5 kB
查看哈希)
guppy3-3.1.2-cp39-cp39-win32.whl
(342.5 kB
查看哈希)
guppy3-3.1.2-cp38-cp38-win_amd64.whl
(359.1 kB
查看哈希)
guppy3-3.1.2-cp38-cp38-win32.whl
(343.8 kB
查看哈希)
guppy3-3.1.2-cp37-cp37m-win_amd64.whl
(358.2 kB
查看哈希)
guppy3-3.1.2-cp37-cp37m-win32.whl
(342.8 kB
查看哈希)
guppy3-3.1.2-cp36-cp36m-win_amd64.whl
(358.4 kB
查看哈希)