多个命令执行的性能比较

多个命令执行的性能比较

我用三种不同的语言编写了三个不同的程序,我试图在运行时和内存消耗方面比较它们的性能。我正在寻找的是一些看起来像这样的命令:

$ SOMETHING (python test.py)
$ SOMETHING (ghc -o test test.hs; ./test)
$ SOMETHING (gcc -o test test.c; ./test)

这样做的原因是我希望有一个统一的 Unix(y) 方式来查看这些程序的性能结果,而不是使用这些不同语言中的分析工具。我还想知道除了运行时间和内存消耗之外,软件专业人员还测量哪些其他一般/基本标准,以便从这些程序中获取一些有用的统计数据。谢谢

答案1

一个简单的方法是使用 GNUtime命令。

/usr/bin/time python test.py
/usr/bin/time /bin/sh -c 'ghc -o test test.hs; ./test'
/usr/bin/time /bin/sh -c 'gcc -o test test.c; ./test'

为了规范启动 shell,我还会/bin/sh -c向 python 命令添加 a 。

time有许多用于格式化输出以及在输出中包含内存、I/O 和其他详细信息的选项。看man time了解详情。

还有一个内置的 bash,time可以像这样使用:

time python test.py
time { ghc -o test test.hs; ./test; }
time { gcc -o test test.c; ./test; }

它会给你时间,但我不确定它是否也有内存和 I/O 选项。

相关内容