1
1
在POSIX中(例如在Linux上),可以使用
在Win32中,
注意CPU时钟变化的影响,如果您的CPU决定在测试期间打卡,结果可能会出现偏差。 |
2
4
忘记time()函数,您需要的是: kcachegrind是检查callgrind配置统计信息的最佳GUI。过去我把应用程序移植到Linux上 只是 所以我可以使用这些工具进行分析。 |
3
2
对于总体运行时间的粗略测量,有
但为了
性能测量
,您应该使用分析器。对于GCC,有
这两者都假定是一个UNIX环境。我肯定有类似的Windows工具,但我不熟悉它们。 编辑: 澄清:我确实建议 反对 在代码中使用任何gettime()样式的函数。几十年来,为了完成您试图用五行代码来完成的工作,已经开发了profiler,它提供了一种更强大、更通用、更有价值和更简单的方法来找出代码的周期。 |
4
1
我发现时间安排和优化是两个不同的问题,对于这两个问题,我个人更喜欢低技术。 对于计时来说,关键是通过绕一圈来让时间足够长。例如,如果一个操作迭代1000次并用秒表计时,那么在删除循环时,秒变为毫秒。 为了找到要优化的东西,有一些代码(终端指令和函数调用)负责时间的不同部分。在此期间,它们暴露在堆栈上。所以你可以在程序上绕一个圈,让它花费足够长的时间,然后 stackshots . 要优化的代码会跳到你身上。 |
5
0
如果您可以使用POSIX函数,请看一下
正如其他人所说,对于任何严肃的分析工作,您都需要使用专用的探查器。 |
S. Jacson · 任意两台发电机的速度差(内置功能) 2 年前 |
Sadeq Dousti · 相当于“嵌套删除”的执行性能SQL查询 2 年前 |
Prince · 复制大型文件需要更多时间 2 年前 |
Sagar · 为什么在循环之外声明变量会更快? 2 年前 |
seco · 如何在不挂起页面的情况下加载JS 2 年前 |