此作業要求參見:
要求0
以 戰爭與和平 作為輸入檔案,重讀向由檔案系統讀入。連續三次執行,給出每次消耗時間、cpu引數。
測試用例:《戰爭與和平》,以為資料輸入。
cpu引數:intel(r) core(tm) i74500u cpu @ 1.80ghz 1.80ghz
要求1 猜測存在的瓶頸
判斷引數是否是檔案目錄或是否是檔案,次i/o操作會比較耗時。file.getpath()和print()也都可能是方法中耗時的i/o操作。因為i/o操作和列印操作以及遍歷都是比較耗時的操作。可能只會提公升零點幾秒。
1 file f = new file(args[0]);2if要求2 profile分析為了方便效能測試,main方法中新增了thread.sleep(1000),所以main方法有過長耗時。(f.isdirectory()) catch
(exception ex) 11}
12 } else
if(f.isfile()) 9
以下三個**片段最為耗時
1public
static
void main(string args) throws
interruptedexception
17 }
1public
static
void
filecode(string args) else
10 listlists = new arraylist(); //
儲存過濾後單詞的列表
11string s;
12while ((s = bf.readline()) != null
) 18}19
}20 system.out.println("total:" +lists.size());
21statisticalcode(lists);
22 } catch
(ioexception ex)
25 }
1要求3 根據瓶頸,"盡力而為"地優化程式效能。去掉沒必要的print 和 在本次作業中 認為安全的邏輯判斷引發的io耗時操作。public
static
void statisticalcode(listlists) else11}
12//
system.out.println("wordcount.wordcount.main()");
13 sortmap(wordscount); //
按值進行排序
14 }
要求4 再次profile
要求1 中的最花費時間的3個函式此時的花費如下圖:
要求5 老師測評
20180925 3 效能分析
作業要求參見 一 得出程式執行時間 執行截圖如下 第一次執行時間為 0.942 s 第二次執行時間為 0.826 s 第三次執行時間為 0.861 s 平均執行時間為 0.876 s cpu引數 intel r core tm i5 4200m cpu 2.50ghz 2.50ghz 二 猜測程式瓶...
作業要求 20180925 3 效能分析
本次作業要求參見 由於上次作業沒有實現功能4,具體的 還在做,在接下來的時間如果實現功能4,會補寫功能4的效能分析。在對自己的已實現功能效能分析後,對喬靜玉同學程式的功能4進行了效能分析 以下是我對自己上次實現的功能的進行的效能分析,以此證明我認真學習了使用ptime程式進行效能分析。要求0 用pt...
mysql 效能分析 Mysql效能分析
優化mysql資料庫效能的十個引數 1 max connections 允許的同時客戶的數量。增加該值增加 mysqld 要求的檔案描述符的數量。這個數字應該增加,否則,你將經常看到 too many connections 錯誤。預設數值是100,我把它改為1024 2 record buffer...