文章目錄
- 軟件工程學習筆記目錄
- 如何在開源社區提問?
- 代碼審查
- 代碼優化
- 運行結果
- 參數解釋
- 代碼優化原則
- 對常見的數據結構排序算法進行測試
- 關于冒泡排序優化的探討
- 結果
軟件工程學習筆記目錄
[https://blog.csdn.net/csdn_kou/article/details/83754356]
如何在開源社區提問?
如果你提問沒有人回答!那么是不是沒有人會呢?其實不然!可能你提問的方式本身就是不對的,我們來看看大牛是怎樣提問的?一起來學一下
https://github.com/seajs/seajs/issues/545
代碼審查
代碼優化
Python優化工具和使用方法!
34100325_X 軟件工程(自主模式)2.5代碼性能分析
運行結果
參數解釋
●ncalls:表示函數調用的次數;
●tottime:表示指定函數的總的運行時間,除掉函數中調用子函數的運行時間;
●percall:(第一個 percall)等于 tottime/ncalls;
●cumtime:表示該函數及其所有子函數的調用運行的時間,即函數開始調用到返回的時間;
●percall:(第二個 percall)即函數運行一次的平均時間,等于 cumtime/ncalls;
●filename:lineno(function):每個函數調用的具體信息;
代碼優化原則
再優化的時候注意:不是說選擇時間最長的進行優化,因為有的模塊優化較為復雜。例如,python的排序是內置的,如果我們要優化他是不是不太合適。還有就是根據經驗來判斷,這個可能有點玄學,但是還是要做的多!
對常見的數據結構排序算法進行測試
- 測試3000個數據好像和想的不太一樣啊!sort是python內部的算法!從數據來看插入排序是最快的
看一下書上的算法穩定情況
詳細代碼
關于冒泡排序優化的探討
我們都知道冒泡排序可以添加一個flag進行優化,這樣如果他本來就是有序的,那么我們就直接可以結束排序了!這個被看作是一種優化!下面我用上面講到的方法來測試一下,由flag和沒有flag的時間運行區別!不看代碼直接上結果!!!
結果
-
有flag
-
沒有flag
什么情況???
自己去想吧!
詳細性能測試教程鏈接