1.預計算
可以在程式早期,例如設計時、編譯時或是鏈結時,通過在熱點**前執行計算來將計算從熱點部分中移除。
2.延遲計算
通過在真正需要執行計算時才執行計算,可以將計算從某些**路徑上移除。
3.批量處理
每次對多個元素一起進行計算,而不是一次只對乙個元素進行計算。
4.快取
通過儲存和復用昂貴計算的結果來減少計算量,而不是重複進行計算。
5.特化
通過移除未使用的共性來減少計算量。
6.提高處理量
通過一次處理一大組資料來減少迴圈處理的開銷。
7.提示
通過在**中加入可能會改善效能的提示來減少計算量。
8.優化期待路徑
以期待頻率從高到低的順序對輸入資料或是執行時發生的事件進行測試。
9.雜湊法
計算可變長度字串等大型資料結構的壓縮數值對映(雜湊值)。在進行比較時,用雜湊值代替資料結構可以提高效能。
10.雙重檢查
通過先進行一項開銷不大的檢查,然後只在必要時才進行另外一項開銷昂貴的檢查來減少計算量。
C 效能優化 優化併發
第一,減小臨界區的範圍 在臨界區中執行i o 處理無法提高效能。第二,限制併發執行緒的數量 我們應當使可執行執行緒的數量少於或等於處理器核心的數量,這樣能夠移除切換上下文的間接開銷。第三,避免驚群 當有許多執行緒掛起在乙個事件 例如只能服務乙個執行緒的工作 上時就會發生所謂的驚群 thunderin...
效能優化 使用設計模式優化併發程式設計
在我們使用多執行緒程式設計時,很多時候需要根據業務場景設計一套業務功能。其實,在多執行緒程式設計中,本身就存在很多成熟的功能設計模式,學好它們,用好它們,那就是如虎添翼了。今天我就帶你了解幾種併發程式設計中常用的設計模式。執行緒上下文設計模式 這樣的解釋可能有點抽象,我們不妨通過乙個具體的案例,來看...
C 效能優化實踐
優化準則 1.二八法則 在任何一組東西中,最重要的只佔其中一小部分,約20 其餘80 的儘管是多數,卻是次要的 在優化實踐中,我們將精力集中在優化那20 最耗時的 上,整體效能將有顯著的提公升 這個很好理解。函式a 雖然 量大,但在一次正常執行流程中,只呼叫了一次。而另乙個函式b 量比a 小很多,但...