如何提高 perf 结果的精度
How to Increase precision of perf result
我正在使用 perf 来分析 C 库。但是,它不会产生 %100 结果,因为它会将数字向下滚动到 0.00x 以下的 0。由于有数千次调用,因此影响了整体结果。
有人知道如何设置精度吗?(我检查了 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
结果精度的可调参数。
参考最新内核源码,正在计算perf report输出中"children"的overhead
值here.
如您所见,
case CCVAL_PERCENT:
default:
if (total)
percent = period * 100.0 / total;
return percent_color_fprintf(fp, "%.2f%%", percent);
}
打印开销百分比的规范固定为小数点后 2 位小数位精度。这需要修改内核源代码以允许在 perf report
输出中显示任何适当的精度。
我正在使用 perf 来分析 C 库。但是,它不会产生 %100 结果,因为它会将数字向下滚动到 0.00x 以下的 0。由于有数千次调用,因此影响了整体结果。
有人知道如何设置精度吗?(我检查了 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
结果精度的可调参数。
参考最新内核源码,正在计算perf report输出中"children"的overhead
值here.
如您所见,
case CCVAL_PERCENT:
default:
if (total)
percent = period * 100.0 / total;
return percent_color_fprintf(fp, "%.2f%%", percent);
}
打印开销百分比的规范固定为小数点后 2 位小数位精度。这需要修改内核源代码以允许在 perf report
输出中显示任何适当的精度。