profiling - 如何提高性能结果的精度
问题描述
我正在使用 perf 来分析 C 库。但是,它不会产生 %100 结果,因为它会将数字向下滚动到 0 到 0.00 倍以下。由于有数千个调用,它会影响整体结果。
有人知道如何设置精度吗?(我检查了 PERF-TRACE(1) gnu Linux 网站上的每个参数,但它不存在)
整体儿童的结果示例:
8.01% 0.11% baxter-wksp [kernel.kallsyms] [k] entry_SYSCALL_64_after_hwframe
7.80% 3.19% baxter-wksp [kernel.kallsyms] [k]
7.62% 0.00% baxter-wksp [unknown] [k] 0000000000000000
解决方案
没有允许更改perf report
结果精度的可调参数。
以最新的内核源代码为参考,overhead
性能报告输出中“children”的值正在计算here。
正如你在这里看到的,
case CCVAL_PERCENT:
default:
if (total)
percent = period * 100.0 / total;
return percent_color_fprintf(fp, "%.2f%%", percent);
}
打印开销百分比的规范固定为小数点后 2 位小数精度。这需要修改内核源代码以允许在perf report
输出中显示任何适当的精度。
推荐阅读
- openapi - 如何使用 Microprofile Openapi swagger-ui 中的注释传递 JWT 令牌
- java - 采访 Q:从字符串“我正在为亚马逊工作”中反转一个单词“亚马逊”
- gravity-forms-plugin - Gravityview - 显示另一个表单的付款状态
- node.js - 无法安装 nodejs - 应用安全设置时出错
- r - 基于多个用户输入的闪亮分配数据框
- javascript - 将 JSON 复杂字符串解析为(vb 或 c#)类
- javascript - RequestError:请求只能在 LoggedIn 状态下进行,不能在 SentClientRequest 状态下进行 NODEJS MSSQL(7.11.2)
- javascript - 具有结果限制的基本自动完成功能
- vue.js - vue js 使用 v-bind:src 显示选定的 img
- python - 覆盖不会在 Mac 上运行——找不到符号:_sqlite3_enable_load_extension