程式設計師的讀書筆記1000字
讀了一些書上第五章的內容,感覺自己與程式設計師的距離還是很大.書上有很多程式碼,基本都是看不太懂.不過書上內容我倒是瞭解了那麼一點兒,具體就是優秀的程式設計師必須要做到的就是能把一個冗長而且效率不高的程式碼修改到高效簡潔.編譯器只是個工具,更多的操作就需要程式設計師的頭腦.
第一節主要講的就是了解編譯器一般最佳化的方向和侷限性,讓我們有個對程式最佳化的基本認識.一般來說同過確定值簡化程式表示式從而降低程式的複雜度提高計算效率,但是與此同時,帶來的致命問題就是儲存器別名使用的問題,它會嚴重阻撓程式產生優秀的最佳化程式碼,對於函式的呼叫也可能會產生不良後果,輕則對特定資料計算出錯,產生BUG,重則程式脫離原有的目的`,使得整個程式無效.
第二節主要講的就是程式運算的效率如何計算,提到了元素的週期數(CPE),簡單的理解來說,對於CPE越小程式的效率越高.
第三節說的就是程式例項,也就是編者為我們寫的一些簡單的例項.主要需要注意的就是儘量接近原始碼,並且規範自己程式碼的書寫格式.
第四節,消除迴圈的低效率,在執行迴圈的時候,如果不進行最佳化,程式將漸近低效率,因為迭代會造成低效率.所以將程式碼移動,不被多次求值,以減少運算時間.(同時程式設計師的幫助編譯器完成程式碼的移動).避免漸近低效率.
第五節減少過程呼叫增加GET VEC START函式,以便減少對資料的多次讀取,提高效率,去掉函式的迴圈呼叫.直接訪問陣列.
第六節消除不必要的儲存器引用,在進行程式碼的書寫時,引用資料型別,去掉可能導致迭代的操作,最佳化的目的使讀的次數的減少,縮減低效率的程式碼.
基本上我就明白了這麼些,書上太多的程式碼了,好多看不懂,還請老師指正.