我正在使用unix time命令记录运行java程序的时间。
我的程序开始运行时所做的第一件事是要求用户输入文件路径。
是否需要在此命令返回的任何时间统计信息中键入此内容并将其返回到因子中? 我的time命令的输出格式为:
其中#是整数
谢谢
答案 0 :(得分:3)
是的,提供输入所需的时间是实时的一部分(输出中的第3个条目)。
简单演示:
$ time(sleep 5 ; echo hi | read)
real 0m5.005s
user 0m0.000s
sys 0m0.004s
此处echo hi
会在标准输出上打印hi
,而read
会读取它。在写这篇文章之前我已经加了5秒的延迟并且正在阅读。我把整个事情计时了。
正如所见,实时约为5秒,这意味着它考虑了read
命令读取输入所花费的时间。
只是要完成用户时间是CPU在我们的程序中运行指令所需的时间,如循环,条件。
系统时间是CPU执行系统调用所用的时间。在我们的示例中,我们看到4毫秒的sys时间,因为该命令涉及许多sys调用,如read
,write
等。