我希望能够测试对各种命令行实用程序的内存复杂性的一些猜测。
举个简单的例子
grep pattern file
Run Code Online (Sandbox Code Playgroud)
我想看看内存使用如何随 的大小pattern和file.
对于时间复杂度,我会猜测,然后运行
time grep pattern file
Run Code Online (Sandbox Code Playgroud)
在各种大小的输入上,看看我的猜测是否在现实中得到证实,但我不知道如何为记忆做到这一点。
一种可能性是使用包装脚本启动作业并定期对内存使用情况进行采样,但这似乎不雅,不太可能给出真正的高水印。
我已经看到了time -v建议,但我的机器上没有该标志(在 OSX 上运行 bash)并且不知道在哪里可以找到支持它的版本。
我还看到,在 Linux 上,此信息可通过proc文件系统获得,但同样,在我的上下文中无法获得。
我想知道是否dtrace可能是一个合适的工具,但再次担心一个简单的基于样本的数字可能不是真正的高水印?
有谁知道适合 OSX 的工具或方法吗?
编辑
我删除了两次提到的磁盘使用情况,这只是旁白,可能会分散问题的主旨。