20180925 3 效能分析

2022-08-26 10:00:11 字數 2097 閱讀 4888

此作業要求參見:

要求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

(f.isdirectory()) catch

(exception ex) 11}

12 } else

if(f.isfile()) 9

要求2 profile分析為了方便效能測試,main方法中新增了thread.sleep(1000),所以main方法有過長耗時。

以下三個**片段最為耗時

1

public

static

void main(string args) throws

interruptedexception

17 }

1

public

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

public

static

void statisticalcode(listlists) else11}

12//

system.out.println("wordcount.wordcount.main()");

13 sortmap(wordscount); //

按值進行排序

14 }

要求3  根據瓶頸,"盡力而為"地優化程式效能。去掉沒必要的print 和 在本次作業中 認為安全的邏輯判斷引發的io耗時操作。

要求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...