程式設計效能之取大舍小

2021-05-21 19:40:01 字數 518 閱讀 6571

乙個系統的效能,80%取決於20%的功能,這20%的功能是訪問最為頻繁的功能,也是系統優化的主要目標。優化時絕對不要對著次要的功能甚至細枝末節緊追不捨。比如,乙個賬號伺服器,優化的目標當然是驗證類的功能,而非設定類,後者使用的人少,對系統較少構成威脅。

當系統出現效能問題,能夠比較準確的判斷出問題的方向,需要非常多的經驗積累。判斷是大致方向之後,準確定位到問題之所在,更是乙個精細的技術活,需要經驗、天分和細心負責的態度。

我認為,效能問題一般分兩類:一類是執行效率太慢,這個只需要細心,還是比較容易找到問題的(是否容易優化,是另乙個問題)。第二類是有洩露問題,最常見的是記憶體洩露、資料庫連線池洩露(或者類似的資源物件池),這個可能就需要大量的壓力測試配合,耐心使用各種工作去定位了。jdk附帶的jmap、jstack、jstat、jconsole等工具都非常有用。

乙個系統系能的好壞,是看執行時效率,而非啟動時效率。我通常不太關注啟動時的**。比如string.split()方法,在執行時**中我絕對不會使用,而在啟動時**中用起來就毫不客氣了。

一家之言。

程式設計實踐之效能優化

四 使用速度快的部分 雙重求值 在js 中執行另一段js 時,會導致雙重求值的效能消耗。在js 中執行乙個包含js 的字串的方法有。var num1 5,num2 6 result eval num1 num2 sum newfunction arg1 arg2 return arg1 arg2 s...

程式設計小知識之 Dithering

本文簡單介紹了 dithering 抖動 的一些知識 圖形後處理有一種操作稱為 dithering 抖動 所謂 dithering,就是一種能夠在較小色彩空間上 模擬出 較大色彩空間的影象處理方法,說的有些抽象,我們來舉個例子 假設我們需要在顯示器上顯示以下 來自這裡 的畫素格式為 rgb 24rg...

程式設計小知識之 Dispose 模式

本文簡述了 c 中 dispose 模式的一些知識 之前對 c 中的 dispose 模式只有些模糊印象,近來又了解了一些相關知識,在此簡單做些記錄 c 程式中每種型別都可以看做是一種資源,這些資源可以分成兩類 託管資源 受 clr 管理 分配和釋放 的資源,譬如 new 出的某個型別物件 非託管資...