我正在使用cProfile来分析我的Python程序。基于这次演讲,我给人的印象是KCacheGrind可以解析并显示cProfile的输出。
但是,当我要导入文件时,KCacheGrind只会在状态栏中显示“未知文件格式”错误,而坐在那里什么也不显示。
在我的分析统计信息与KCacheGrind兼容之前,我需要做些特别的事情吗?
... if profile: import cProfile profileFileName = 'Profiles/pythonray_' + time.strftime('%Y%m%d_%H%M%S') + '.profile' profile = cProfile.Profile() profile.run('pilImage = camera.render(scene, samplePattern)') profile.dump_stats(profileFileName) profile.print_stats() else: pilImage = camera.render(scene, samplePattern) ...
套件版本
可以使用称为lscallproftree的外部模块来完成
本文介绍了如何:CherryPy-CacheGrind
与我产生的代码看起来像这样:
... if profile: import cProfile import lsprofcalltree profileFileName = 'Profiles/pythonray_' + time.strftime('%Y%m%d_%H%M%S') + '.profile' profile = cProfile.Profile() profile.run('pilImage = camera.render(scene, samplePattern)') kProfile = lsprofcalltree.KCacheGrind(profile) kFile = open (profileFileName, 'w+') kProfile.output(kFile) kFile.close() profile.print_stats() else: pilImage = camera.render(scene, samplePattern) ...
如果有人知道不需要外部模块(即Python不附带)的方法,那么我仍然会很感兴趣。