guppy3

guppy3

Python堆分析和内存优化工具集

Guppy3是一个开源的Python堆分析工具集,专注于内存分析和优化。它包含多个子包,其中Heapy工具可用于查找和显示堆中对象信息。Guppy3支持Python 3.8至3.12版本,提供简洁的API接口。该工具有助于开发者诊断内存泄漏,分析对象引用关系,从而优化程序性能。Guppy3是Python开发中实用的内存分析工具。

Guppy 3Python堆分析内存分析性能优化Github开源项目

Guppy 3

构建状态 Codecov PyPI 版本 Repology - 仓库 PyPI - 下载量
PyPI - 实现 PyPI - Python 版本 PyPI - 许可证 欢迎贡献

Python 编程环境和堆分析工具集。

该软件包包含以下子包:

  • etc - 支持模块。特别包含 Glue 协议模块。
  • gsl - Guppy 规范语言实现。可用于从共同源创建文档和测试。
  • heapy - 堆分析工具集。可用于查找有关堆中对象的信息并以各种方式显示信息。
  • sets - 用 C 实现的位集和"节点集"。

Guppy 3 是 Sverker Nilsson 为 Python 2 创建的 Guppy-PE 的一个分支。

要求

您应该使用 Python 3.8、3.9、3.10、3.11 或 3.12。此软件包仅支持 CPython;不支持 PyPy 和其他 Python 实现。Python 2 支持可以从 Sverker Nilsson 的 guppy-pe 获得,本软件包是从其分支而来的。

要使用图形浏览器,需要 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() 30976个对象集合的分区。总大小 = 3544220 字节。 索引 数量 % 大小 % 累计 % 类型(类 / 类的字典) 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' 查看。> >>> h.heap().byid[0].sp 0: h.Root.i0_modules['os'].__dict__ >>> h.iso(1,[],{}) 3个对象集合的分区。总大小 = 348 字节。 索引 数量 % 大小 % 累计 % 类型(类 / 类的字典) 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 文档也可用

贡献

欢迎提出问题和拉取请求。您也可以寻求使用这个工具集的帮助;但在这种情况下,我们只会提供指导,而不会为您分析代码。

请确保适当更新测试。

测试

要测试 heapy 的构建和安装是否正确,您可以执行:

>>> from guppy import hpy >>> hpy().test() 测试 sets 测试 #0 测试 #1 测试 #2 ...

将会有更多的测试。一些测试可能需要一段时间。

许可证

版权所有 (C) 2005-2013 Sverker Nilsson, S. Nilsson Computer System AB
版权所有 (C) 2019-2021 朱一飞
版权所有 (C) 2021-2023 朱一飞, Google LLC

根据通常称为 MIT 许可证的规则,授予复制、使用、修改和重新分发此代码的权利。

这不是 Google 的官方产品。

*** 使用风险自负,请注意这是一个早期版本 ***

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多