在鄒老師的效能分析的建議下對上次寫過的詞頻統計的程式進行分析改進。
效能分析:個人很淺顯的認為就是程式的執行效率,**的執行效率
1.vs 提供了自帶的分析工具:performance tool (效能分析)
先看一下vs工具的自己介紹:診斷應該程式的效能問題、識別應用程式中最常見的高開銷方法。
performance tool包含四個方面的內容:
採用了cpu取樣對詞頻統計程式進行了分析。
2.第一次分析結果
*發現string.concat占用超過九成。找到對應的程式位置如下:
找到原因
string.concat (string, string)
連線 string 的兩個指定例項。
在對檔案進行讀入的過程中採用了string連線的方式
2.修改
因此修改讀入方式為:
利用readtoend就解決了上述問題!oh my god 以前從未認為竟然會有這種問題。
修改後的分析結果,如下:
原本的string.concat占用沒有了,系統的整體執行時間也變短了。
占用百分比較高的部分是對標點符號的替換。暫時沒有很好的想法。
3.對一些其他的細節進行了修改:
將words.length從迴圈中提出放到外層。
4.暫時沒有與其他程式進行比較
詞頻統計及其效能分析
恢復內容開始 1 2 程式分析 1 開啟並讀取檔案 2 新增處理 bvffer 統計單詞的頻率,存放在word freq def process buffer bvffer if bvffer word freq 下面新增處理 bvffer 統計單詞的頻率,存放在word freq for item...
詞頻統計及其效能分析
1.匯入正規表示式 re模組 和string模組中的punctuation方法 import re from string import punctuation 2.開啟檔案讀入緩衝區 def process file dst 讀檔案到緩衝區 try 開啟檔案 fi1e open dst,r exc...
分析「詞頻統計「專案程序
目錄 功能需求 實現 psp功能需求 1.小檔案輸入 2.支援命令列輸入英文作品的檔名 3.支援命令列輸入儲存有英文作品檔案的目錄名,批量統計 4從控制台讀入英文單篇作品 實現 本次 實現了功能3。類名功能 void main string 主函式,呼叫其他函式實現基本功能 void sortmap...