我希望能够测试各种命令行实用程序的内存复杂度,并且需要一个简单的例子。
以一个简单的例子来说明:
grep pattern file
我希望看到有关
pattern
和file
大小变化时内存使用情况的变化。就时间复杂性而言,我会先猜测,然后运行。time grep pattern file
在不同大小的输入上检查我的猜测是否符合现实,但我不知道如何针对内存做到这一点。
一种可能的方法是编写一个包装脚本来启动作业并定期采样内存使用情况,但这似乎不太优雅,并且不太可能给出真正的高水位线。
我看过建议使用 "time -v",但我在我的机器上(在OSX上运行bash)没有该标志可用,也不知道在哪里找到支持它的版本。
我还看到,在Linux上,通过proc文件系统可以获取此信息,但在我的情况下无法使用。
我想知道dtrace是否可能是一个适当的工具,但我担心简单的基于样本的数字可能不是真正的高水位线?
有人知道在OSX上适用的工具或方法吗?
编辑
我删除了两个提到 "磁盘使用" 的提及,它们只是旁白,可能会分散问题的主要内容。