这个问题有点相关另一个在 AskUbuntu 上,OP 询问如何决定使用哪个命令,sed
或tail
.到目前为止,所有答案都集中在使用 bash 中的循环或time
单次运行。循环方法让我困扰的是它引入了bash
循环性能作为开销。
有没有办法在不引入 shell 性能的情况下测试命令行实用程序的性能?除了time
测试性能之外还有其他方法吗?一般来说,还有什么可以用来测试命令行实用程序?
答案1
strace -c
确实值得一看。 手册页
:
计算每个系统调用的时间、调用和错误,并在程序退出时报告摘要。在 Linux 上,这尝试显示独立于挂钟时间的系统时间(在内核中运行所花费的 CPU 时间)。如果 -c 与 -f 或 -F(如下)一起使用,则仅保留所有跟踪进程的总计。