相关疑难解决方法(0)

如何提高此代码的性能?

感谢来自这里的人们的帮助,我能够获得塔斯马尼亚骆驼拼图工作的代码.然而,它非常慢(我想.我不确定,因为这是我在Python中的第一个程序).在代码底部运行的示例需要很长时间才能在我的机器中解决:

dumrat@dumrat:~/programming/python$ time python camels.py
[['F', 'F', 'F', 'G', 'B', 'B', 'B'], ['F', 'F', 'G', 'F', 'B', 'B', 'B'],
 ['F', 'F', 'B', 'F', 'G', 'B', 'B'], ['F', 'F', 'B', 'F', 'B', 'G', 'B'],
 ['F', 'F', 'B', 'G', 'B', 'F', 'B'], ['F', 'G', 'B', 'F', 'B', 'F', 'B'],
 ['G', 'F', 'B', 'F', 'B', 'F', 'B'], ['B', 'F', 'G', 'F', 'B', 'F', 'B'],
 ['B', 'F', 'B', 'F', 'G', 'F', 'B'], ['B', 'F', 'B', 'F', 'B', 'F', 'G'],
 ['B', 'F', 'B', 'F', 'B', …
Run Code Online (Sandbox Code Playgroud)

python optimization performance time-complexity

38
推荐指数
3
解决办法
2万
查看次数

如何使用Python分析器获取调用树?

我曾经使用过系统监视器应用程序中内置的漂亮的Apple探查器.只要您的C++代码是使用调试信息编译的,您就可以对正在运行的应用程序进行采样,并打印出一个缩进的树,告诉您父函数在此函数中花费的时间百分比(以及正文与其他函数调用) .

例如,如果main调用function_1and function_2,function_2调用function_3,然后是main调用function_3:

main (100%, 1% in function body):
    function_1 (9%, 9% in function body):
    function_2 (90%, 85% in function body):
        function_3 (100%, 100% in function body)
    function_3 (1%, 1% in function body)
Run Code Online (Sandbox Code Playgroud)

我会看到这一点,然后想一想,"有些东西需要花费很长时间function_2才能完成代码.如果我希望我的程序更快,那就是我应该开始的地方."

我怎样才能最轻松地获得Python程序的精确分析输出?

我见过有人说这样做:

import cProfile, pstats
prof = cProfile.Profile()
prof = prof.runctx("real_main(argv)", globals(), locals())
stats = pstats.Stats(prof)
stats.sort_stats("time")  # Or cumulative
stats.print_stats(80)  # 80 = how many to print
Run Code Online (Sandbox Code Playgroud)

但与优雅的呼叫树相比,它相当混乱.如果你能轻易做到这一点,请告诉我,这会有所帮助.

python tree profiling

27
推荐指数
4
解决办法
1万
查看次数

使用PyCharm查看分析数据

有没有人知道是否有办法在PyCharm中打开外部.pstat文件进行查看?当我尝试时,我被要求选择文件类型,但似乎没有它的选项(即使那些视图用于内部生成的配置文件数据).

cprofile pycharm

20
推荐指数
2
解决办法
6375
查看次数

如何使PyCharm探查器仅显示源代码的计时,而不显示任何库?

当我运行PyCharm探查器(一个快速的介绍视频是在这里- https://www.youtube.com/watch?v=QSueV8MYtlw)我得到成千上万行的像hasattr或npyio.py(它是在哪里来的,我做的甚至不使用numpy),这根本无法帮助我了解发生了什么。

如何使PyCharm Profiler仅显示源代码的时序,而不显示任何库或系统调用?

换句话说,可以将花在系统调用和库上的时间分配给调用它们的函数吗?

换句话说(第二版),我想要的只是我的 python代码每一行旁边的毫秒数,而不是其他任何东西。

python performance profiler intellij-idea pycharm

5
推荐指数
1
解决办法
139
查看次数