测量执行时间和使用的内存
Posted
技术标签:
【中文标题】测量执行时间和使用的内存【英文标题】:Measuring execution time and memory used 【发布时间】:2009-03-13 20:09:19 【问题描述】:大多数在线评委都有某种系统来衡量执行时间和内存消耗。 here 显示了一个示例。它是如何完成的?是否有一个简单的 UNIX 实用程序可以用来在我自己的程序上运行类似的测试?
【问题讨论】:
我使用 C 和 Python 工作。这个特定网站使用的衡量标准似乎与编程语言无关。 【参考方案1】:Valgrind 及其所有工具将为您提供一些信息:
cachegrind
- 缓存模拟器
callgrind
- 调用图跟踪 - 允许获取调用成本并显示程序中发生的情况
massif
- 堆内存使用信息
memcheck
- 内存泄漏检查
此外,您还可以使用更复杂的软件,例如Intel VTune。
如果您对底层细节和真正的硬件计数器感兴趣,请查看perfmon2,它有可能在未来某个时间进入主流内核。
并搜索旧问题 - 关于这个主题有很多帖子。
【讨论】:
【参考方案2】:UNIX time 命令将输出用户时间量、系统时间和一些内存统计信息。可以在here 找到 Linux 版本,其中包含一些允许您指定确切输出的格式字符串。
【讨论】:
【参考方案3】:上次我需要分析 Unix 程序时,我使用了 gcc 和 gprof。它为我提供了我需要的信息。
【讨论】:
以上是关于测量执行时间和使用的内存的主要内容,如果未能解决你的问题,请参考以下文章
使用 Micrometer 和 WebFlux 测量执行时间