【问题标题】:Measuring execution time and memory used测量执行时间和使用的内存
【发布时间】:2009-03-13 20:09:19
【问题描述】:

大多数在线评委都有某种系统来衡量执行时间和内存消耗。 here 显示了一个示例。它是如何完成的?是否有一个简单的 UNIX 实用程序可以用来在我自己的程序上运行类似的测试?

【问题讨论】:

  • 我使用 C 和 Python 工作。这个特定网站使用的衡量标准似乎与编程语言无关。

标签: profiling


【解决方案1】:

Valgrind 及其所有工具将为您提供一些信息:

  • cachegrind - 缓存模拟器
  • callgrind - 调用图跟踪 - 允许获取调用成本并显示程序中发生的情况
  • massif - 堆内存使用信息
  • memcheck - 内存泄漏检查

此外,您还可以使用更复杂的软件,例如Intel VTune

如果您对底层细节和真正的硬件计数器感兴趣,请查看perfmon2,它有可能在未来某个时间进入主流内核。

并搜索旧问题 - 关于这个主题有很多帖子。

【讨论】:

    【解决方案2】:

    UNIX time 命令将输出用户时间量、系统时间和一些内存统计信息。可以在here 找到 Linux 版本,其中包含一些允许您指定确切输出的格式字符串。

    【讨论】:

      【解决方案3】:

      上次我需要分析 Unix 程序时,我使用了 gcc 和 gprof。它为我提供了我需要的信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-23
        • 1970-01-01
        • 2019-12-08
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 2019-10-03
        • 1970-01-01
        相关资源
        最近更新 更多