unix time コマンドを使用して、Java プログラムの実行時間を記録しています。
プログラムが実行を開始して最初に行うことは、ユーザーにファイル パスの入力を求めることです。
これを入力してリターンを押すのにかかった時間は、このコマンドが返す時間統計のいずれかに含まれていますか? time コマンドの出力は次の形式です。
.#u #.#s #:#.# #.#% #+#k #+#io #pf+#w
ここで # は整数です
ありがとうございました
unix time コマンドを使用して、Java プログラムの実行時間を記録しています。
プログラムが実行を開始して最初に行うことは、ユーザーにファイル パスの入力を求めることです。
これを入力してリターンを押すのにかかった時間は、このコマンドが返す時間統計のいずれかに含まれていますか? time コマンドの出力は次の形式です。
ここで # は整数です
ありがとうございました
はい、入力を提供するのにかかる時間はリアルタイムの一部です (出力の 3 番目のエントリ)。
簡単なデモ:
$ time(sleep 5 ; echo hi | read)
real 0m5.005s
user 0m0.000s
sys 0m0.004s
ここで、標準出力に出力してecho hi
読み取ります。この書き込みと読み取りが発生する前に、5 秒の遅延を追加しました。そして、私はすべての時間を計りました。hi
read
ご覧のとおり、リアルタイムは約 5 秒です。これは、read
コマンドが入力を読み取るのにかかった時間を考慮に入れていることを意味します。
ユーザー時間とは、CPU がループや条件などのプログラム内の命令を実行するのにかかる時間です。
sys time は、CPU がシステム コールを実行するのにかかった時間です。read
この例では、4 ミリ秒の sys 時間が表示されます。これは、そのコマンドにwrite
などの sys 呼び出しが多数含まれているためです。