我正在用C ++(在Linux上)编程,最近我开始使用Valgrind / Callgrind优化我的代码。在阅读了一些教程之后,似乎专注于具有最高“自我”时间的功能是个好主意。
我发现两个函数具有很高的自律时间(它们都被称为〜1M次,并且各自具有10%的自律时间,相对于整个程序执行时间而言)。问题是,现在怎么办?自我时间到底是什么,我该如何减少呢?
我的理解/猜测是,自我时间包括读/写数据,缓存未命中,基本数学运算,将内容复制到堆栈中(包括函数参数),等等。在解决该问题之前我怎么知道是哪一个?] >
谢谢
我正在用C ++(在Linux上)编程,最近我开始使用Valgrind / Callgrind优化我的代码。在阅读了一些教程之后,似乎专注于具有最高“自我”的功能...