问题标签 [cprofile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
17218 浏览

python - 这个 cProfile 结果告诉我我需要修复什么?

我想提高 Python 脚本的性能,并一直在使用cProfile它来生成性能报告:

chrX.prof我用 Python打开这个文件pstats并打印出统计数据:

问题:我可以做些什么来join减少它们对该脚本性能的明显影响?splitwrite

如果相关,这里是相关脚本的完整源代码:

编辑

如果我注释掉sys.stdout.write第一个条件中的语句parseJarchLine(),那么我的运行时间会从 10.2 秒变为 4.8 秒:

stdout用 Python写东西真的那么贵吗?

0 投票
1 回答
738 浏览

python - 分析将自身分叉为守护进程的 python 程序

是否可以在将自身分叉为守护进程的多线程 python 程序上运行 cprofile?我知道你可以让它在多线程上工作,但我还没有看到任何关于分析守护进程的内容。

0 投票
4 回答
5011 浏览

python - App Engine:time.sleep() 是否计入我的配额?

嘿。我正在开发一个 App Engine 应用程序,该应用程序涉及对 Google Maps API 进行地理编码的查询。谷歌地图不喜欢太多的请求,所以我在每个请求之间设置了 1 秒的延迟time.sleep(1)

我注意到我的 GAE 仪表板中的配额不足,因此决定运行一个简短的测试:

这给了我以下输出:

所以它说它消耗 3 个 CPU 秒time.sleep(3)。现在我想知道这样的调用是否计入 GAE 提供的配额限制。如果确实如此,那么在地理编码的 API 调用之间产生延迟的另一种方法是什么?

谢谢。

0 投票
5 回答
32535 浏览

python - 使用 cProfile 在 Python 中分析类的方法?

我想使用 cProfile 在 Python 中分析一个函数的方法。我尝试了以下方法:

但它不起作用。如何用“运行”调用 self.method?

0 投票
3 回答
2384 浏览

python - 在 Python 中增加 cProfiler 的深度以报告更多功能?

我正在尝试分析一个调用其他函数的函数。我按如下方式调用分析器:

我发现分析器说所有时间都花在了 mymodule 的函数“foo()”上,而不是把它分解成子函数 foo() 调用,这是我想看到的。如何让探查器报告这些功能的性能?

谢谢。

0 投票
1 回答
465 浏览

python - cProfile 占用大量内存

我正在尝试在 python 中分析我的项目,但内存不足。

我的项目本身相当占用内存,但在 cProfile 下运行时,即使是一半大小的运行也会因“MemoryError”而死。

进行较小的运行不是一个好的选择,因为我们怀疑运行时间是超线性缩放的,并且我们正试图发现哪些函数在大型运行中占主导地位。

为什么 cProfile 占用这么多内存?我可以减少它吗?这是正常的吗?

0 投票
2 回答
460 浏览

python - python:面向字节码的分析器

我正在编写一个 Web 应用程序 ( http://www.checkio.org/ ),它允许用户编写 python 代码。作为众多反馈指标之一,我想在运行此代码检查时启用分析。这是为了让用户对各种解决方案的相对效率有一个非常粗略的了解。

我需要配置文件是(合理地)确定的。我不希望 Web 服务器上的其他负载给出糟糕的效率读数。另外,我担心一些分析器不会给出很好的测量结果,因为这些短脚本运行得非常快。timeit 模块显示了一个正在运行数千次的函数,但如果可能的话,我不想在这个小特性上浪费服务器资源。

目前尚不清楚哪些标准分析器(如果有)满足这一需求。理想情况下,分析器会给出“解释器字节码滴答”的单位,每个字节码指令都会增加一个。这将是一个非常粗略的度量,但满足确定性和高精度的要求。

我应该使用哪个分析系统?

0 投票
2 回答
1019 浏览

python - 这个 Python cProfile 输出是什么意思?

具体来说,第三行。我阅读了 cProfile,但没有解释该行的含义。它也没有提供我可以在谷歌上搜索的任何关键字,所以我很难过。

我正在分析的 Python 脚本会找到素数。

我看到第 5 行的循环中花费了 21 秒。我不明白其他 43 秒在做什么。

0 投票
1 回答
873 浏览

python - 分析 Python cProfile 与 unix 时间

我正在分析 python 代码;为什么它在用户空间上花费更多时间?

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.003 0.003 :1() 1 0.000 0.000 0.000 0.000 ConfigParser.py:218(init) 1 0.000 0.000 0.001 0.001 ConfigParser.py:266(read) 30 0.000 0.000 0.000 0.000 ConfigParser.py:354(optionxform) 1 0.000 0.000 0.000 0.000 ConfigParser.py:434(_read) 15 0.000 0.000 0.000 0.000 ConfigParser.py:515(get) 15 0.000 0.000 0.000 0.000 ConfigParser.py:611(_interpolate) 15 0.000 0.000 0.000 0.000 ConfigParser.py:619(_interpolate_some) 1 0.000 0.000 0.000 0.000 config.py:32(read_config_data) 1 0.000 0.000 0.001 0.001 config.py:9(init) 6 0.000 0.000 0.000 0.000 entity.py:108(add_to_filter) 1 0.000 0.000 0.002 0.002 entity.py:24(init) 1 0.001 0.001 0.002 0.002 entity.py:39(create_inverted_index) 493 0.000 0.000 0.001 0.000 entity.py:80(beautify) 1 0.000 0.000 0.000 0.000 entity.py:84(create_bucket_lookup) 1 0.000 0.000 0.000 0.000 main.py:15() 2 0.000 0.000 0.000 0.000 main.py:18() 1 0.000 0.000 0.003 0.003 main.py:23(main) 1 0.000 0.000 0.000 0.000 main.py:9(get_bag_of_words) 19 0.000 0.000 0.000 0.000 {built-in method group} 34 0.000 0.000 0.000 0.000 {built-in method match} 1 0.000 0.000 0.000 0.000 {isinstance} 2 0.000 0.000 0.000 0.000 {len} 28 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} 1 0.000 0.000 0.000 0.000 {method 'close' of 'file' objects} 15 0.000 0.000 0.000 0.000 {method 'copy' of 'dict' objects} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 15 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects} 19 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects} 24 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects} 49 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects} 20 0.000 0.000 0.000 0.000 {method 'readline' of 'file' objects} 6 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects} 24 0.000 0.000 0.000 0.000 {method 'rstrip' of 'str' objects} 47 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects} 9 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects} 1030 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects} 15 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects} 2 0.000 0.000 0.000 0.000 {method 'write' of 'file' objects} 10 0.000 0.000 0.000 0.000 {open} 2 0.000 0.000 0.000 0.000 {range} 3 0.000 0.000 0.000 0.000 {reduce}

Done

real 0m0.063s user 0m0.050s sys 0m0.010s

虽然 cProfile 说它只花了 0.003 秒,但为什么 unix (sys) 时间说它在 0.01 秒内运行?

0 投票
1 回答
1205 浏览

python - Python cProfile:pyo文件是否可能

我是 Python 的初学者,并试图通过命令行调用 cProfile,即

但它会抛出一条错误消息,指出

SyntaxError:第 1 行文件 myScript.pyo 中的非 ASCII 字符“\xb3”,但未声明编码;有关详细信息,请参见http://www.python.org/peps/pep-0263.html

但是如果我对 myScript.py 文件做同样的事情,它就可以正常工作。

我必须在客户端机器上收集配置文件数据,并且该机器上不能有源代码。

有什么我想念的吗?