【发布时间】:2009-03-13 20:09:19
【问题描述】:
大多数在线评委都有某种系统来衡量执行时间和内存消耗。 here 显示了一个示例。它是如何完成的?是否有一个简单的 UNIX 实用程序可以用来在我自己的程序上运行类似的测试?
【问题讨论】:
-
我使用 C 和 Python 工作。这个特定网站使用的衡量标准似乎与编程语言无关。
标签: profiling
大多数在线评委都有某种系统来衡量执行时间和内存消耗。 here 显示了一个示例。它是如何完成的?是否有一个简单的 UNIX 实用程序可以用来在我自己的程序上运行类似的测试?
【问题讨论】:
标签: profiling
Valgrind 及其所有工具将为您提供一些信息:
cachegrind - 缓存模拟器callgrind - 调用图跟踪 - 允许获取调用成本并显示程序中发生的情况massif - 堆内存使用信息memcheck - 内存泄漏检查此外,您还可以使用更复杂的软件,例如Intel VTune。
如果您对底层细节和真正的硬件计数器感兴趣,请查看perfmon2,它有可能在未来某个时间进入主流内核。
并搜索旧问题 - 关于这个主题有很多帖子。
【讨论】:
上次我需要分析 Unix 程序时,我使用了 gcc 和 gprof。它为我提供了我需要的信息。
【讨论】: