gperftools

    1热度

    2回答

    我发现这个主题有几个冲突的答案。 This博客文章需要libuwind,但这不适用于Mac OS X.我在我的代码中包含#include <google/profiler.h>,但是我的编译器(g ++)找不到该库。我通过自制软件安装了gperftools。另外,我发现this计算器问题出这一点: 然后我跑到pprof生成输出: [hidden ~]$ pprof --text ./a.out c

    0热度

    1回答

    我目前正在使用Ubuntu上的SDL在C++中编写游戏。我最近多线程化了我的引擎,所以我从用valgrind/callgrind进行分析转换为gperftools。我已经得到它的工作,但它不会打印我自己的函数名称。奇怪的是,它识别SDL函数名称(我在一些线程上看到了相反的情况;共享库函数没有找到它们的名字)。 kcachegrind Output 我跑我的程序,而且为了得到执行以下两条命令是: p

    1热度

    1回答

    我使用gperftools来剖析C++应用程序,该应用程序使用GCC 5.4.0(使用-O3)进行编译。 代码是高度优化的,所以我没有看到很多分支的输出,但有一个叫__nss_passwd_lookup()分支,这需要时间显著量: 我唯一的猜测是它与内存分配有关。 操作系统:Ubuntu 16.04 x86_64,内核:4.8。

    2热度

    2回答

    当我衡量我的围棋程序中使用Linux的time实用程序运行时,我得到下面的输出: real 1m9.177s user 7m1.788s sys 0m39.016s 当我看到完全相同的程序执行的输出在围棋的pprof CPU分析器,我得到下面的输出: Entering interactive mode (type "help" for commands) (pprof) top 14

    0热度

    1回答

    我一直在我的电脑上成功地使用谷歌perf工具。但是,我正在为aarch64体系结构进行编译和部署,并且我为x86获得的分析结果可能与aarch64不匹配。 我想直接测量aarch64设备上的东西。我编译了RelWithDebInfo标志,我用Profiler LD_PRELOAD的运行时链接运行了我的代码。 对于我的第一次尝试,主要是我有地址,而不是函数名称: 828 2.1% 86.0% 82

    1热度

    1回答

    我试图用gperftools分析多线程工作负载,但是难以解释产生的输出。我写了一个简单的程序,启动两个工作负载相同的线程,并使用gperftools cpu profiler进行配置。在输出中,我可以看到每个线程的两个函数,但是每个线程的开销在一次运行和下一次运行之间会有很大的不同。我希望这两个函数都显示相同的结果,因为它们是相同的工作负载,但实际上,其中一个可能是90%,另一个是10%,有时是8

    0热度

    1回答

    我已经安装了gperftools并收集数据,目前看起来是合理的。我看到一个节点(?)被抽样了很多 - 但我对那个节点的调用者感兴趣 - 我没有看到它们?我也试过callgrind/kcachegrind,我觉得我错过了什么?使用--text Total: 1844 samples 573 31.1% 31.1% 573 31.1% US_strcpy 185 10.0% 41

    0热度

    2回答

    我用Rcpp做了一个R包,其中整个模拟在C++中运行,结果在R中分析。现在我需要剖析我的函数,以便优化它们,但是R剖析器可以不能区分C++函数内部会发生什么,而且我不知道如何运行C++分析器,因为函数只能从R里面运行。 到目前为止,我发现了一些关于使用gperftools的建议(questions和tutorials),但指南是不完整的(可能他们假设我缺乏的知识水平?),缺少链接,并且我不断碰壁。

    0热度

    1回答

    我正尝试在unix平台上对C++应用程序进行堆分析。我尝试了valgrind的地块,但它使应用程序非常缓慢并影响应用程序的行为。 我正在寻找其他选项,并遇到gperftools和heaptrack。虽然这些可以成为我的问题的可行解决方案。但我有限制,我没有足够的权限来安装这些工具。 有没有什么办法可以设置gperftools或heaptrack而无需在unix中安装它们? 在此先感谢

    1热度

    1回答

    我有一些gperf tool文件: 第一个正在运行约2 minites,文件是18M; 别人运行约2小时,文件是关于800M ,当我尝试使用:pprof --text拿到报告,发现的第一个具有样本,但只运行这些2小时5500样品。 我除了较大的文件有大约2*3600*100 samples(因为“默认情况下gperf工具每秒取100个样本”)。 同样的程序和相同的操作环境下,为什么样品太少? 对不