程序優化雜談——前言

程序優化雜談——前言

( 作者:mikespook | 發佈日期:2003-4-13 | 瀏覽次數:95 )

關鍵字:程序,優化
  關於程序優化,是從計算機出現以來一個長久的話題。早期計算機由於運算速度慢、存儲容量小,程序員不得不一遍又一遍的研究算法、優化程序。但隨着計算機硬件的發展,我們現在可以奢侈的寫着程序,而不考慮這些代碼是不是太慢,或者是不是太大。而且,隨着編譯技術的不斷進步,也減輕了程序員在程序優化方面的工作量。傳聞,某編譯器編譯時,某些情況下可達到1:1的高級語言到機器指令的轉化。這可真是在代碼海洋中苦苦掙扎的程序員的福音,不用再考慮優化,而將所有優化工作交給編譯器來完成。
  但真得是這樣麼?技術的進步真得可以代替人工操作的程序優化麼?
  經常聽到“高手”很得意的拿着自己又慢又大的程序對“菜鳥”說:“看,我的程序的framework多棒。”每次聽到這話,我就想對這些代碼說:“Sh*t!”(我倒是不敢對高手說,畢竟技不如人。^@^)我是個老菜鳥了,不懂什麼framework,不過這種又慢又大的程序絕對不是我想要的。
  所以我決定從我的雕蟲小技中整理出來這麼一些東西和大家分享。希望這些劣質的技巧能對你有一點幫助,而不是浪費你的時間。我還是覺得不論別的東西怎麼樣,寫出速度快,佔用空間少的代碼是每個優秀的程序員應具有的基本素質之一。
  我可能會不定期的做一些整理給大家發出來。但是關於這些文章的名字又讓我爲難了。程序優化不光是在代碼級上,還有整體結構設計與編譯器技術。所以這些文章或許叫做代碼優化更合適一些。但也許在以後,等自己的水平有所提高的時候(至少弄清楚什麼叫framework ^$^),會加入關於更高級的方面的討論。
因爲是雕蟲小技,所以我想對適合閱讀本文章的朋友給一些建議。(暫時只是針對代碼優化)
不適合閱讀這些文章的朋友:
爲了不讓你們看廢話浪費時間,先看這個。
1.剛開始接觸編程的朋友
  文章中大量應用到各種小技巧,如果你剛開始學習編程,我還是建議你先打好基礎。再來體會這些“怪異”技巧的微妙之處。
2.做系統分析、架構設計的朋友
  因爲水平有限,所以我這裏所說的優化是在代碼級進行的。對於系統分析、架構設計毫無用處。不要在這些上面浪費你的時間。
3.相信優化是不必要的,或者認爲優化應該交由編譯器完成的朋友
  相信我,這絕對不是你想看的。我不會討論優化的必要性,也不會介紹任何利用編譯器特性進行優化的內容。這些技巧除了把你漂亮代碼弄亂,其他什麼幫助也不會有的。你最好還是看看編譯器手冊。
我希望下面的朋友能看看這些文章:
1.所有感覺無法再忍受自己那奇慢無比的代碼,又不知從何可以讓它運行得更快的朋友
  你應該能通過閱讀這些文章嘗試修改自己的代碼,讓他們運行在一個你能接受的速度下。
2.所有對代碼級優化有所心得的朋友
  我不認爲你會從這些劣質的技巧中有所收穫。我只是希望你能閱讀它們,並指出其中的錯誤與不足,讓我能有一個更大的進步。
關於如何閱讀這些文章,我想那是你自己的事情。不過我還是說說我的看法,僅供參考。
1.我這裏所說的不是方法,而是一種想法、一種思路(得,我沒那麼大本事,所以不敢自稱思想。不過說是想法應該沒人有意見吧?)。如果你能從其中有所收穫,也應該是體會這些想法。舉一反三。應用到你的程序中去。
2.每篇文章我都會給出例子程序,不一定是什麼語言寫的。只是爲了更好的說明問題。可看,可不看。
3.我在文章中會提到一些我認爲應該看的書。因爲有一些概念性的東西我不會浪費時間,在這裏再抄一遍概念(我又不是寫那種擺在新華書店賣的書,所以我沒必要抄來抄去的。)。所以如果你遇到不清楚的地方,應該去看這些書,而不是來問我。
好了廢話就寫這麼多,以後的文章中我就不說這些廢話了。^$^
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章