この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16030|答える: 0

[ヒント] いくつかのPython実行時間計算手法

[リンクをコピー]
掲載地 2018/04/23 15:54:36 | | | |
まず最初に、私が遭遇した落とし穴、本番環境で遭遇した問題について話しましょう。私はPythonスクリプトの実行スケジュールを管理し、プロセスを監視していますが、Pythonスクリプトの実行時間は、私がPythonスクリプトで数えているプログラム実行時間よりもはるかに長いです。
Pythonスクリプトの実行監視時間は36時間ですが、Pythonスクリプトの自己実行時間は約4時間です。
問題の後に最初に思い浮かぶのは、Linuxに問題があることで、いくつかのログに異常は見つかりませんでした。
次に、Pythonで非同期にデータを書き込むために使われるpy2neoが、プロセスの実行をブロックしているのを思い浮かべます。
最終的に問題が判明しました。それは、Pythonスクリプトがtime.clock()を使ってCPUの実行時間をカウントし、プログラムの実行時間をカウントしない点です。
次に、いくつかのPythonの時間統計を比較してみましょう。

方法1:

datetime.datetime.now() は現在の日付を取得し、プログラム実行終了後、このメソッドで得られる時間値がプログラム実行時刻となります。

方法2:

time.time() はエポック以降の現在の時刻を取得するためのものでした (数秒で)。 システムクロックがそれを与えてくれれば、ほんの数秒しか経てないかもしれません。 この場所は浮動小数点型を返します。 ここで得られるのはプログラムの実行時間でもあります。

方法3:

time.clock() はプログラム開始または最初に呼び出された時点からのCPU時間を返します。 これはシステム記録と同じくらいの精度を持っています。 リターンも浮動小数点型です。 ここで得られるのはCPUの実行時間です。
注:プログラム実行時間 = CPU時間 + IO時間 + 休止または待機時間

メソッド2を使って関数の実行時間をテストする方法は以下の通りです:







先の:WindowsでのPython 3.6.5インストールチュートリアル
次に:ニューラルネットワークアーキテクチャの進化:LeNet5からENetまでの10以上のアーキテクチャの包括的なレビュー
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com