私は方法を理解しようとしています
int getrusage(int who, struct rusage* usage)
私のプログラムの実行時間を計算するために機能します。
たぶん 10 回は man ページを読み直しましたが、それでもわかりません。Web で何かを見つけようとしましたが、この機能に関するマニュアル ページしか見つかりませんでした。
不明な点は、rusage 構造体の内部に何が格納されているかです。man ページはあまり明確ではありません。そのため、デバッガーで実行して内部の内容を直接確認しようとしましたが、特に 2 つの構造体がどのように機能するか、まだわかりません。 - timeval ru_utime と timeval ru_stime - 動作します。
それらの内部にあるものは、ある時は 0、ある時は 2000 など、異なる値を想定しています。
メモリの割り当てと解放を継続的に行う for ループを含む単純なプログラムを実行しました。ストップウォッチを使って実際に何時間かかるかを確認したところ、5.23秒かかりました。しかし、これらの構造体に見られるのはまったく無関係のようです:
ループ前:
ru_utime = { tv_sec = 0, tv_usec = 1000}, ru_stime = { tv_sec = 0, tv_usec = 1000}
ループ後:
ru_utime = { tv_sec = 4, tv_usec = 677000}, ru_stime = { tv_sec = 0, tv_usec = 2000}
だから、誰か私にこれを説明するか、これが説明されている良いリンクを教えてもらえますか?
とても感謝しています。