程式優化的5個方向

2021-09-20 02:36:39 字數 661 閱讀 8676

80/20法則:程式執行中,80%的時間消耗在20%的**上。

優化前,我們首先得找到這20%的關鍵路徑;

各種語言都有專門的工具來找到這20%的關鍵路徑,比如c++經常用到的gprof;

參考《c++的效能優化實踐》

在關鍵路徑上對耗時的計算進行優化;

主要的優化方向為:

減少重複計算、預先計算、延後計算、降低計算代價、不計算;

對於關鍵路徑中比較耗時的計算,預先計算出來,節省每次計算的成本;

適用場景:計算出來的值一直有效,無需再次計算;

將計算耗時延遲到後期,這樣,對於異常情況或其它分支情況,在中途就轉換,不用再計算;

適用場景:分支條件場景;

這是通常能想到的最直接的優化手段,如何能夠直接降低計算的代價;

- 記憶體申請從堆上改為棧上

動態記憶體分配昂貴,將記憶體分配從堆上改為棧上;

適用場景:這類優化一般是以降低**可讀性為代價的(stl的除外),用於優化的最後階段;

優化的終極方案,不計算;

以上是單執行緒關鍵路徑的優化,接下來,我們聊聊擴充套件到多核,在多執行緒上的優化;

posted by: 大cc | 06aug,2015

部落格:blog.me115.com [訂閱]

github:大cc

職場SEOer的優化方向

繼,上篇 職場seoer最大的問題是溝通 與大家分享了職場seo專員關於 溝通 問題的一些感悟,今天,再繼續談談職場seo核心優化方向的個人之談。一 關鍵詞選取的預判 對於職場seoer,來說,對 關鍵詞選取的預判是否正確,直接關係到被優化的關鍵詞排名上公升所需時間長短,以及從搜尋引擎獲得流量的多少...

區塊鏈改變金融服務的5個方向

金融服務行業從根本上講是促進多個不信任方之間信任的價值交換。經紀人的信任是一項巨大的責任,並存在巨大的風險,這就是為什麼該行業越來越依賴昂貴的中介機構的原因,而且人工處理和手動對賬容易出錯。如今,越來越多的金融服務機構正在尋求區塊鏈來實現更有效的跨企業協作,減少中間環節並建立顛覆性的商業模式。區塊鏈...

大資料行業5個職位方向指南

大資料已不再是新詞,企業也越來越需要大資料高階人才。這給想要從事大資料方面工作的人員提供了難得的職業機遇。那麼在大資料行業,都有什麼職位可以選擇呢?來看看大資料行業的5個職位方向指南吧!一 etl研發 隨著資料種類的不斷增加,企業對資料整合專業人才的需求越來越旺盛。etl開發者與不同的資料 和組織打...