PHP的語言層面的優化和代碼優化

  大規模的系統開發中,Cache無疑是至關重要的,php世界裏,雖然不如java當中,有那麽豐富的cache解決方案可以選擇,但是,仍然有一些成熟的方案,從《advanced PHP programming》中我就學到了如下一些:
  1、語言層面的優化:php具有不少引擎(engine)層面的api,通過這些api,可以改變引擎執行的行爲,從而達到優化運行的目的。其中,最值得 去做的就是對編譯結果cache。衆所周知,php每次執行都需要經曆源代碼–〉編譯–〉中間代碼–〉引擎執行 這樣的過程,對于一些大型應用,相當多的時間花費在無益的編譯上了(不僅僅是訪問頁面的php文件需要經過編譯環節,當腳本中利用require(), include()包含的一些文件都需要經過編譯)。通過對編譯結果的cache,能夠極大地提高系統的性能(和系統複雜性、規模成正比) 。
  php世界中三個主流的能夠實現編譯cache的工具是:
  The Zend Accelerator—A commercial, closed-source, for-cost compiler cache produced by Zend Industries
  The ionCube Accelerator—A commercial, closed-source, but free compiler cache written by Nick Lindridge and distributed by his company, ionCube
  APC—A free and open-source compiler cache written by Daniel Cowgill and George Schlossnagle
  APC的安裝方法,APC包含在PECL中,具體安裝如下 190-823 190-802 :
  運行命令
  #pear install apc
  之後,在php.ini文件中添加:
  extension = /path/to/apc.so
  這樣,就完成了安裝,當下次運行php,APC就會自動激活,將編譯結果放入共享內存中cache起來,下次再執行的時候就直接從內存中獲取編輯結果執行,不需要再次編譯。
  疑問:對于自上次編譯後變動了的php,APC是否能夠自動重新編譯?
  2、php代碼優化:利用一些工具能夠市的編譯後産生優質中間代碼,具體如下:
  The Zend Optimizer is a closed-source but freely available optimizer.
  The ionCube accelerator contains an integrated optimizer.
  proof-of-concept optimizer in PEAR.
  優化器主要的功能:
  1、清除無用的代碼,例如永遠也不會執行的死代碼。
  2、常量的計算,例如將$seconds_in_day = 24*60*60直接變爲$seconds_in_day = 86400;
  3、其它代碼優化功能,例如有這麽一個語句:
  $count++;
  會優化爲++$count,使得執行速度更快。 當然,如果語句是$i = $count++;則不會進行優化
 
PHP優化的點擊數統計代碼
<?phperror_reporting(E_ALL);$ROOT_PATH = '../';include_once($ROOT_PATH . "include/config.php");$update_time = 1800;//多長時間更新一次,單位是秒$article_id = (isset($_GET['article_id']) && is...查看完整版>>PHP優化的點擊數統計代碼
 
php代碼優化及php相關問題總結
  1,在函數中,傳遞數組時   使用 return 比使用 global 要高效   比如      function userloginfo($usertemp){   $detail=explode("|",$usertemp);   return $detail;   }   $login=userlogi...查看完整版>>php代碼優化及php相關問題總結
 
PHP程序加速探索的代碼優化方法
  握了PEAR::BenchMark,現在你已經知道如何測試你的代碼,知道如何判斷你的代碼是快是慢,是哪一部份比較慢。那麽接下來我要說的就是如何消滅或優化那部份慢的代碼。   這一點上我個人最主要的經驗只有兩點,一...查看完整版>>PHP程序加速探索的代碼優化方法
 
PHP程序加速探索[6]--代碼優化
<2> 加速◆ 代碼優化掌握了PEAR::BenchMark,現在你已經知道如何測試你的代碼,知道如何判斷你的代碼是快是慢,是哪一部份比較慢。那麽接下來我要說的就是如何消滅或優化那部份慢的代碼。這一點上我個人最主要...查看完整版>>PHP程序加速探索[6]--代碼優化
 
PHP開發程序加速運行探索之慢代碼優化方法
 掌握了PEAR::BenchMark,現在你已經知道如何測試你的代碼,知道如何判斷你的代碼是快是慢,是哪一部份比較慢。那麽接下來我要說的就是如何消滅或優化那部份慢的代碼。   這一點上我個人最主要的經驗只有兩點,一...查看完整版>>PHP開發程序加速運行探索之慢代碼優化方法
 
PHP程序加速探索之代碼優化
  掌握了PEAR::BenchMark,現在你已經知道如何測試你的代碼,知道如何判斷你的代碼是快是慢,是哪一部份比較慢。那麽接下來我要說的就是如何消滅或優化那部份慢的代碼。   這一點上我個人最主要的經驗只有兩點,...查看完整版>>PHP程序加速探索之代碼優化
 
10條建議極大提高PHP代碼的性能-PHP語言
  這篇文章中的建議涵蓋了大部分PHP代碼性能方面的問題。如果你是做一些小網站或者小項目,那麽有理由忽略這些建議,但是當你爲大量用戶提供長期穩定的服務的時候,就必須關注了。開發人員必須從項目一開始就考慮這...查看完整版>>10條建議極大提高PHP代碼的性能-PHP語言
 
技巧:用stack變量優化Java代碼-JSP語言
  java程序包含了大量的對象,我們需要了解它們是從哪裏被訪問的,變量存儲于何處對程序的性能有顯著的影響--尤其是某些需要被頻繁訪問的變量。  我們寫一個Java類,在其內部方法中定義的局部變量或對象是存儲...查看完整版>>技巧:用stack變量優化Java代碼-JSP語言
 
SEO優化需要注意的兩個層面
  做SEO優化,內容爲王,外鏈爲皇!相信這句話大家都聽過許多遍了,但是想做好SEO優化就需要注意的兩個層面,哪兩個層面呢!?就是技術和營銷兩個層面都做得很好。如果一個網站能夠把技術和營銷兩方面都做好了的話,那...查看完整版>>SEO優化需要注意的兩個層面
 
 
回到王朝網路首頁