我正在使用 unix time 命令来记录运行 java 程序的时间。
我的程序开始运行时所做的第一件事是要求用户输入文件路径。
输入此命令并按回车键所花费的时间是否已计入此命令返回的任何时间统计信息中? 我的时间命令的输出格式如下:
.#u #.#s #:#.# #.#% ##+#k ##+#io #pf+#w
其中#是一个整数
谢谢
最佳答案
是的,提供输入所花费的时间是实时的一部分(输出中的第三个条目)。
简单演示:
$ time(sleep 5 ; echo hi | read)
real 0m5.005s
user 0m0.000s
sys 0m0.004s
这里,echo hi
将在 std 输出上打印 hi
,而 read
将读取它。在进行写入和读取之前,我添加了 5 秒的延迟。我已经为整个事情计时了。
正如所见,实际时间约为 5 秒,这意味着它考虑了 read
命令读取输入所花费的时间。
为了完整起见,用户时间是 CPU 运行程序中的指令(例如循环、条件语句)所花费的时间。
而sys time是CPU执行系统调用所花费的时间。在我们的示例中,我们看到 4 毫秒的系统时间,因为该命令涉及许多系统调用,例如 read
、write
等。
关于shell - UNIX 时间命令 - 输入时间是否被考虑在内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394632/