2012-04-20 7 views
1

os.times()のドキュメントの理解に問題があります。 http://docs.python.org/library/os.htmlPython CGIアプリケーションのos.times()

累積された(プロセッサまたはその他の)時間を示す5タプルの浮動小数点数を秒単位で返します。項目は、ユーザ時間、システム時間、子供のユーザ時間、子供のシステム時間、および過去の固定点からの経過時間の順である。 Unixのマニュアルページの時間(2)または対応するWindowsプラットフォームAPIのドキュメントを参照してください。 Windowsでは、最初の2つの項目のみが塗りつぶされ、残りの項目は0になります。

コマンド上の他のリソースを見つけるのはちょっと難しいようです。

各CGI呼び出しが新しいpythonプロセスを生成すると仮定します。os.times()の次の結果の最初の2つの値は実際に教えてくれますか?私が実際に測定したものは何ですか?

(0.2184014, 0.17160109999999998, 0.0, 0.0, 0.0)

答えて

1

は、彼らはあなたを教えてどのくらいのプロセッサ(つまり、Pythonインタプリタ)と、OSカーネルのコード(すなわち処理システムコールが行われ、プログラムコードに費やされている(I/O操作を待っている時間ではなく)時間Pythonインタプリタによって)、それぞれ、これまでこのプロセスによって。

time(7) man pageと同様に、ドキュメントで参照されるtimes(2) man pageにいくつかの詳細があります。

+0

So.処理時間=ユーザ時間+システム時間? I/O操作時間は含まれていませんか? –

+0

プロセッサ時間=ユーザ時間+システム時間。 I/O操作時間は含まれないため、通常は「wallclock」経過時間よりも短くなりますが、マルチコアシステムでは、すべてのCPUからのサイクルが一緒に追加されるため、より多くの時間がかかることもあります。 – slowdog