Skip to main content

Guppy 3 -- 移植到 Python 3 的 Guppy-PE

项目描述

孔雀鱼 3

构建状态 编解码器 PyPI 版本 Repology - 存储库
PyPI - 实现 PyPI - Python 版本 PyPI - 下载 PyPI - 许可证

一个 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

用法

下面的例子显示

  1. 如何创建会话上下文:h=hpy()
  2. 如何显示堆中的可达对象:h.heap()
  3. 如何显示从根到单个最大对象的最短路径:h.heap().byid[0].sp
  4. 如何创建和显示一组对象: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
>>>

人们写了关于如何使用这个工具集的很棒的帖子,包括:

还提供正式和 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 查看哈希

已上传 source

内置发行版

guppy3-3.1.2-cp310-cp310-win_amd64.whl (357.1 kB 查看哈希

已上传 cp310

guppy3-3.1.2-cp310-cp310-win32.whl (342.4 kB 查看哈希

已上传 cp310

guppy3-3.1.2-cp310-cp310-macosx_10_9_x86_64.whl (362.0 kB 查看哈希

已上传 cp310

guppy3-3.1.2-cp39-cp39-win_amd64.whl (357.5 kB 查看哈希

已上传 cp39

guppy3-3.1.2-cp39-cp39-win32.whl (342.5 kB 查看哈希

已上传 cp39

guppy3-3.1.2-cp39-cp39-macosx_10_9_x86_64.whl (362.2 kB 查看哈希

已上传 cp39

guppy3-3.1.2-cp38-cp38-win_amd64.whl (359.1 kB 查看哈希

已上传 cp38

guppy3-3.1.2-cp38-cp38-win32.whl (343.8 kB 查看哈希

已上传 cp38

guppy3-3.1.2-cp38-cp38-macosx_10_9_x86_64.whl (364.2 kB 查看哈希

已上传 cp38

guppy3-3.1.2-cp37-cp37m-win_amd64.whl (358.2 kB 查看哈希

已上传 cp37

guppy3-3.1.2-cp37-cp37m-win32.whl (342.8 kB 查看哈希

已上传 cp37

guppy3-3.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (363.5 kB 查看哈希

已上传 cp37

guppy3-3.1.2-cp36-cp36m-win_amd64.whl (358.4 kB 查看哈希

已上传 cp36