linux驅動優化重構提高效率的心得

1.定義的結構體,元素的size比較小的放前面,size比價大的放後面,編譯器會優化整個結構體佔用的內存


2.數組的大小最好按照4/8的倍速來定義


3.程序中用移位代替除法,提高程序運行的小籠包


4.需要循環,或者多次調度的函數,一定要注意,不要留下冗餘,記住2/8法則,20%的代碼決定了整個程序的效率


5.優化程序運行效率可以從設計框架層面,算法方面,code方面來提高。


6.最近內存越來越貴,相比運算速度,內存比較能限制量產的利潤


7.switch的case的查詢順序編譯器優化過一輪,不是依次從第一個開始查的,最高概率的case應該放在switch的中間


8.函數的參數不要多於4個,小於4個,是通過寄存器的傳遞,>=4個,要通過棧來傳遞的


9.定義一個變量,int這種32位的直接賦值,但是char,short int這8、16位賦值的要通過移位的步驟,不過測試後效率是一樣的,arm指令集已經做好了


10.五級流水線、七級流水線,最高程序跑的越猛,提前把下一條指令執行,但是循環裏面會受到限制,可以通過拆解循環,循環裏面多做點事=事情,從而減少循環的次數,來優化一把。


11.代碼設計思想,策略和機制相分離,策略層做控制,機制做邏輯實現,層次明朗的代碼更容易維護


12.針對不同的arm體系結構,和編譯器的編譯選項,細緻優化,比較耗時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章