このジョブは、参照が必要ですhttps://edu.cnblogs.com/campus/nenu/2019fall/homework/7628を
•入力ファイルとして、戦争や平和への要件0、およびファイルシステムによって再読み込みがに読み込まします。三つの連続実行、与えられた時間、各パラメータのCPU消費量。
要件0 入力ファイルとして、「戦争と平和」に、とに読み込むためのファイルシステムが再読み。三つの連続実行、それぞれの与えられた時間、CPU消費量パラメータ
試験方法:入力ptime wf -s < war_and_peace.txt
最初のテスト時間のショット:
第二の試験時間のショット:
時間のスクリーンショット3番目のテスト:
統計:
要件1は、プログラムの推測では、ボトルネックを示しています。あなたは思いますが、最良の結果を得るために最適化された、または先週のここでの最適化(またはアカウントの最適化に取り、そのために悪いコードが書かれていない)されます。
ボトルネック:あまりにも多くの時間を使用し、文字変換処理、コード効率は、機能パッケージのプロセスによって最適化することができます
:真の中 :lastchar =単語1 [-1] " " "!" "?"; - " "*"、 "%"、「" '、" ""[」、"、、、、でlastchar場合]: ワード2 = word1.rstrip(lastchar) WORD1 = WORD2 他: ワード2 =単語1 ブレーク トゥルー中: firstchar = WORD2 [0:] firstchar場合は[中」、 "、、、 ""。" "!" "?" ; " '"'、 " - "、 "*"、 "%"]: ワード3 = word2.lstrip(firstchar) ワード2 =ワード3 他: ワード3 = WORD2 ブレーク
要件2本のボトルネックは、プログラムを見つけるためにプロファイル。私たちは、次の3つの機能(またはコードの断片)を実行しているほとんどの時間を与えられています。要件は、スクリーンショットが含まれています。(5点)
要求 分析为什么此处是瓶颈。
要求 profile需要得到函数的运行时间和次数。仅得到CPU和内存占用,不得分。
エントリーpython
-
m cProfile
-
s time wf.py
-
s < war_and_peace.txt
最も時間のかかる3つの機能を:
請求項3のボトルネック、プログラムのパフォーマンスを最適化する「ベストエフォート」。(5点)
変更されたスニペット:
しばらく:真 lastchar =単語1 [ - 1 :] のための lastchar で ' R \、」。' : ワード2 = word1.rstrip(lastchar) WORD1 = WORD2 他: ワード2 = 単語1 ブレーク 中:真 firstchar = WORD2 [ 0 :] について lastchar で ' \ rを、」。' : ワード3= word2.lstrip(firstchar) ワード2 = ワード3 他: ワード3 = WORD2 破る #は下のwordListに構築する場合修正単語 word_list2.appendを(ワード3)
英語の文字の書式設定セクションのカプセル化
要件4:再度プロファイル、このとき、請求項1に三つの機能が与えられた最も時間を要します。
この時点で、3つの関数が費用:
そして3回試験:
5回を実行するための要件。三つのファイルに分け教師コンピュータのランキング(Windows8.1)、上の高速走行に応じて。この問題は、最初の歯車、第2歯車10分、第3ギヤ5分の20ポイントを獲得します。機能テストは、0を渡すことはできません。
教師がテストするためにgitのアドレス