国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP的語言層面的優化以及代碼優化技巧

2024-05-04 21:51:42
字體:
來源:轉載
供稿:網友

大規模的系統開發中,Cache無疑是至關重要的,php世界里,雖然不如java當中,有那么豐富的cache解決方案可以選擇,但是,仍然有一些成熟的方案。

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 ;則不會進行優化

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜新| 新营市| 尚志市| 正阳县| 冕宁县| 喜德县| 行唐县| 兴海县| 丰顺县| 怀来县| 兴仁县| 三原县| 甘泉县| 格尔木市| 峨眉山市| 湖南省| 湖州市| 盘山县| 温州市| 腾冲县| 海淀区| 遵义县| 隆林| 孟津县| 鄂托克旗| 阜阳市| 郸城县| 德钦县| 宾川县| 邵东县| 石狮市| 剑川县| 方城县| 宜阳县| 孝义市| 富宁县| 定结县| 贵州省| 昌都县| 德州市| 宁波市|