男人gprof应该帮助.
但请记住,如果使用分析器,则应测试大量循环.并且您应该在计算缓存效果的情况下执行此操作,因此至少应该在具有随机(但相同)顺序的足够大的内存区域数据上执行此操作.为此使用srandom()/ random().
最小化设置:
在简单的情况下,您描述我会使用它
$ vi test.c
$ make test
cc test.c -o test
$ time ./test
real 0m1.001s
user 0m0.001s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
当比较几个组件的完整执行时,我会使用Roman概述的gprof方法.
这一切都取决于具体情况.但是对于我来说,时间方法中有9次是足够的.但我想在使用线程多个进程和GUI代码时,情况会有所不同.然而,这不是我的专业领域.
有一个名为Valgrind(维基百科)的工具,我建议你也看看.
Valgrind工具可以自动检测许多内存管理和线程错误,并详细介绍您的程序.
归档时间: |
|
查看次数: |
2182 次 |
最近记录: |