跳转到主要内容

分析模块导入时间。

项目描述

importfiler

分析您的导入,找出拖慢模块加载时间的原因。

importfiler 是在解释器的 -X importtime 跟踪输出基础上构建的。它只是针对特定用例的不同输出。寻找影响特定模块最长的模块,以便优化。

如果您需要更详细的结果,请查看 py-spy 或其他任何运行时分析器。

获取 dependencies 导入时间

给定一个导入,显示导入直接依赖所花费的时间。导入时间 包括 导入其他模块所花费的时间。

这有助于您找到库/应用程序中最耗时的导入。

示例

$ python -m importfiler requests
modules:            time(%)
------------------- --------
requests            100 %
urllib3             61 %
charset_normalizer  11 %
http.cookiejar      10 %
idna                2 %
certifi             2 %
http.cookies        1 %
zipfile             1 %

获取毫秒时间

$ python -m importfiler --unit=ms requests
modules:            time(ms)
------------------- ---------
requests            48 ms
urllib3             29 ms
charset_normalizer  5 ms
http.cookiejar      4 ms
idna                1 ms
certifi             1 ms

获取 all_modules 导入时间

给定一个导入,显示加载所有依赖项(包括传递依赖项)所花费的时间。导入时间 不包括 导入其他模块所花费的时间。

这有助于您找到依赖链中最耗时的模块。

示例

$ python -m importfiler --mode="all_modules" requests
modules:             time (%)             submodules
-------------------- -------------------- --------------------
urllib3              17 %                 urllib3.util.url, urllib3.packages.six, urllib3.exceptions, urllib3.poolmanager, ...
email                7 %                  email._policybase, email.message, email.header, email.feedparser, ...
charset_normalizer   6 %                  charset_normalizer.constant, charset_normalizer.models, charset_normalizer.cd, ...
requests             6 %                  requests.utils, requests.models, requests.exceptions, requests.packages, ...
http                 6 %                  http.cookiejar, http.client, http.cookies
urllib               4 %                  urllib.request, urllib.parse, urllib.error, urllib.response
typing               3 %
ssl                  2 %
importlib            2 %                  importlib.resources._adapters, importlib.resources.abc, importlib.resources._common, ...
re                   2 %                  re._parser, re._compiler, re._constants, re._casefix

获取毫秒时间

$ python -m importfiler --mode="all_modules" --unit=ms requests
modules:             time (ms)            submodules
-------------------- -------------------- --------------------
urllib3              18 ms                urllib3.util.url, urllib3.packages.six, urllib3.exceptions, urllib3.connectionpool, ...
charset_normalizer   8 ms                 charset_normalizer.md__mypyc, charset_normalizer.constant, charset_normalizer.models, ...
requests             7 ms                 requests.utils, requests.exceptions, requests.models, requests.packages, ...
email                3 ms                 email._policybase, email.header, email.feedparser, email.utils, ...
http                 3 ms                 http.cookiejar, http.cookies, http.client
idna                 2 ms                 idna.core, idna.idnadata, idna.package_data, idna.intranges
urllib               1 ms                 urllib.request, urllib.parse, urllib.error, urllib.response
importlib            1 ms                 importlib.resources._adapters, importlib.resources.abc, importlib.resources._common, ...
typing               1 ms
ssl                  1 ms
re                   1 ms                 re._parser, re._compiler, re._constants, re._casefix

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

importfiler-0.0.2.tar.gz (5.4 kB 查看哈希值)

上传时间

构建分布

importfiler-0.0.2-py3-none-any.whl (5.5 kB 查看哈希值)

上传时间 Python 3

由以下支持