如何获得正确的 gperf 样本报告

how to get the right gperf samples report

我有一些 gperf tool 个文件:

第一个是运行大约2分钟,文件是18M;

其他运行约2小时,文件约800M

当我尝试使用 :pprof --text 获取报告时,发现第一个有 1300 个样本,但是这 2 小时 运行 只是 5500个样本。

除了较大的文件有大约 2*3600*100 samples(因为“默认情况下 gperf 工具每秒采集 100 个样本”)。

同样的程序,同样的运行环境,为什么样本太少? 抱歉我的英语不好。

我看起来像是 I/O 绑定了。在 120 秒的作业中,您将获得 13 秒的样本。在 120 分钟的工作中,您将获得大约 1 分钟的样本。与 I/O 相比,实际花费在计算上的时间比例可能相差很大,尤其是在有一些持续的启动开销的情况下。

如果时间应该与文件大小大致呈线性关系,那么 120 分钟的工作实际上应该只有 40 分钟左右,所以我会在大工作上做一些 manual sampling,看看发生了什么。