讀書筆記《C 效能優化指南》 1 綜述

2022-08-25 18:33:15 字數 716 閱讀 5991

軟體優化的必要性;

1. 優化為軟體開發的一部分

2. 優化是高效的且可持續的

3. 軟體的活力、生命週期的延續

改善**效能的一些策略:

1. 使用更好的編譯器以及編譯選項

2. 使用最優演算法

3. 使用更好的庫並用好庫

4. 減少記憶體分配和複製操作

5. 移除不必要的計算操作,優化熱點**

6. 使用最優的資料結構

7. 提高併發性以更快地處理

8. 優化記憶體管理

影響優化的計算機的行為;

1. c++中的執行語句、執行順序不一定是順序的,編譯器可能會重排執行指令,另外併發也會導致執行順序的進一步複雜化

2. volatile變數、std::atomic特性等都由作業系統來隱藏實現的

3. 計算機的記憶體操作,如讀寫其實是比較慢的且並不是以位元組為單位訪問的,而是一大塊的資料讀寫的以補償記憶體操作慢的問題,

此外記憶體未對齊的位元組(不在同乙個字)訪問耗時是位元組在同乙個字中時的兩倍多

4. 除了讀大塊資料外,記憶體還有多級快取記憶體來彌補(尤其是頻繁訪問的記憶體位址),緊挨的指令或資料結構如陣列等更容易放入快取(鍊錶或樹則會比較慢對快取作用幫助不大,可能會更慢)

5. 位元組序的問題,大端和小端模式

6. 虛擬記憶體模擬無限物理記憶體,讀寫磁碟檔案到記憶體耗時較高;此外程式訪問的記憶體比較分散時可能出現頁抖動,減低了效能

《HBase權威指南》讀書筆記1

關於排序 排列順序如果跟預期的不一樣,需要補鍵,比如 row 1 永遠小於 row 2,無論後面是什麼,將始終按照這個順序排列 這有可能影響到balance策略,假設你根據時間戳來做rowkey,那麼會出現最後乙個節點,資料不斷增加而前面的節點資料不變,這個過程會持續到達到rebalance的閥值,...

http權威指南 讀書筆記 1

web伺服器是web資源的容器。web資源是web內容的源頭。內容資源既可以是靜態的html,js也可以是動態的指令碼程式生成的內容。mime型別是一種文字標記,表示 主要物件 子型別 中間通過斜槓來區分 主要用來在網際網路上標識資源存在的路徑為知的,類似顯示生活中的位址一樣 uri又分為url和u...

C 讀書筆記 1

1 include 1 以 標誌開始的語句是預處理器的指示語句,不是可執行的語句,只是起到提醒編輯器下面要即將進行編譯 2 iostream是輸入 輸出流標準標頭檔案,相當於c語言中的stdio.h 2 using namespace std 1 此行代表的是標準命名庫空間,在此處宣告,便可以在下面...