标签: kcachegrind

在KCacheGrind中使用cProfile结果

我正在使用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)
...
Run Code Online (Sandbox Code Playgroud)

包版本

  • KCacheGrind 4.3.1
  • Python 2.6.2

python profiling kcachegrind cprofile

53
推荐指数
5
解决办法
2万
查看次数

什么是"<循环1>"在Xdebug中的指示?

我在php脚本上有一个xdebug配置文件,我用kcachegrind解析.这是一个屏幕截图,显示在任何给定函数中花费的最多时间都花在内部<cycle 1>,而顶部' 调用者'是由index.php中的'include'和'include_once'构成的.

显示周期1的xdebug配置文件的kcachegrind

此配置文件在使用apache'ab'进行压力测试期间运行,因此发生了许多并发连接.

<cycle 1>在xdebug配置文件上显示什么?

profiling xdebug kcachegrind

48
推荐指数
2
解决办法
8783
查看次数

KCachegrind解释混乱

我试图理解左侧面板中Kcachegrind中显示的值

我有包含 (我在手册中读到的内容包括),Self,称为函数

现在我正在分析这个cachegrind文件,我有

Incl. ---- Self ---- Called ---- Function

100.05 ---- 0.04 ---- (0) ---- {main}

83.38 ---- 0.07 ---- 250 --- item->close

78.85 ---- 78.85 ---- 10 067 ---- php::mysql_query
Run Code Online (Sandbox Code Playgroud)

并且列表继续..

但这是我的问题.

我认为项目 - >关闭是我的瓶颈,但我不明白的是它是如何包含83.38的包含,然后是0.07的Self和mysql_query命令在两者中都是相同的.

"自我"在这里意味着什么?

这些百分比如何相互关联?我不明白item-> close需要83%而mysql_query需要78%

谢谢

php kcachegrind

35
推荐指数
2
解决办法
1万
查看次数

控制台替代kcachegrind?

Kcachegrind摇滚,这是我最喜欢的工具,但是我不时会错过在远程服务器上运行终端(例如使用ssh)的能力.

我知道可以设置VNC或X服务器转发,但是在我需要简单的东西时它非常笨拙.

是否有任何kcachegrind控制台替代(例如基于ncurses)?

linux console callgrind kcachegrind

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

为什么kcachegrind不显示调用图?

我试图获得有关大型程序流程的一些信息.过去,KCachegrind曾经很擅长这一点.但是我系统上的最新版本(0.6kde)(Kubuntu 10.10)将不会显示调用树和调用者映射.它只绘制一个包含当前函数的框,但没有箭头和没有调用者.这是控制台输出:

kcachegrind(27917)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
QFileSystemWatcher: failed to add paths: /home/cosmin/.config/ibus/bus
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
CallGraphView::refresh 
CallGraphView::refresh: Started process 0x1346f50, 'dot -Tplain'
CallGraphView::readDotOutput: QProcess 0x1346f50
CallGraphView::dotExited: QProcess 0x1346f50
Run Code Online (Sandbox Code Playgroud)

我安装了dot(graphviz),并且使用-g -O0编译了应用程序.

你知道问题出在哪里吗?

linux kcachegrind

18
推荐指数
1
解决办法
3700
查看次数

是否有任何KCacheGrind替代Mac Os X outta吗?

我正在寻找一个KCacheGrind替代品,或者至少是Mac OS X的二进制包?

我将使用KCacheGrind与XDebug for PHP,但Mac Os X在这里是正确的环境......

谢谢

编辑:我知道我可以使用MacPort,但我正在寻找这种痛苦安装的替代方案.

也许是"在mac方式"的东西

php profiling xdebug kcachegrind

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

有没有工具来检查两个callgrind/valgrind配置文件的区别?

我试图理解程序的性能如何在使用不同选项运行时发生变化 - 我的因子为1.8我想解释一下.我一直在用[valgrind]的callgrind工具进行分析,并使用kcachegrind来显示结果.但我真的很想看看差异.我找到了该cg_diff程序,但它不能与callgrind配置文件一起使用,只能使用cachegrind配置文件,这对我来说太昂贵了. 有没有人知道用于可视化两个配置文件之间差异的工具?

linux profiling valgrind callgrind kcachegrind

14
推荐指数
1
解决办法
1745
查看次数

如何解释kcachegrind的结果

谁能告诉我如何对kcachegrind的结果感兴趣.

我有两个版本的代码(v1,v2)都在调试模式下编译.我通过valgrind用选项运行它们:

valgrind --tool=callgrind -v ....

这样生成的输出文件在kcachegrind中打开.现在我已经发现代码的版本v2运行速度比第一版v1更快,因为它意味着.但是我如何从kcachegrind的调用图中获得结果.

在kcachegrind All Callers选项卡中,我有以下列:Incl. , Distance, Called, Caller.

IIUC,Called并且caller在计划中没有被称为"来电者".但我不了解其他人.

另一件事是在选择特定功能然后在"呼叫者"选项卡上显示更多信息.Ir, Ir per call, count, caller 在类型选项卡中:`EventType,Incl.自我,简短,公式.

我在这里没有任何想法.

到目前为止,我读过这些问题:

KCachegrind解释混淆 对分析结果感到困惑

c++ profiling valgrind callgrind kcachegrind

14
推荐指数
1
解决办法
4046
查看次数

wincachegrind中的列名是什么?

通过大量的努力和教程,我得到了xdebug/wincachegrind并且正在运行,但大多数教程以"现在每个人都在工作,享受"结束.

Everythings工作,但我没有得到统计数据中的列命名:

  • 什么意味着平均 自我(平均自我)?
  • 什么意思暨.?
  • 与平均自我相反的总自我是什么?
  • 什么是Total Cum与Average Cum相反?

我有点困惑,我找不到合适的答案,对不起,如果这是一个愚蠢的问题.

php xdebug kcachegrind

11
推荐指数
1
解决办法
1868
查看次数

PHP xDebug图解释

我正在分析PHP应用程序(构建在Zend框架上).附上您可以找到KCacheGrind从xDebug输出生成的主调用图的屏幕截图.

有两件事我不明白:

1)为什么{main} "分叉"成2个电话?它们应该以某种方式并行还是一个接一个地发生?

2)左边的箭头{main}有一个带文字的小蓝条2x; 这是否意味着召唤Zend_Application->bootstrap发生了两次?

 

PHP xDebug图

php zend-framework xdebug kcachegrind

11
推荐指数
1
解决办法
760
查看次数