国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP的語(yǔ)言層面的優(yōu)化和代碼優(yōu)化

瀏覽:2日期:2024-02-24 15:37:12

大規(guī)模的系統(tǒng)開發(fā)中,Cache無(wú)疑是至關(guān)重要的,php世界里,雖然不如java當(dāng)中,有那么豐富的cache解決方案可以選擇,但是,仍然有一些成熟的方案,從《advanced PHP programming》中我就學(xué)到了如下一些:

1、語(yǔ)言層面的優(yōu)化:php具有不少引擎(engine)層面的api,通過(guò)這些api,可以改變引擎執(zhí)行的行為,從而達(dá)到優(yōu)化運(yùn)行的目的。其中,最值得 去做的就是對(duì)編譯結(jié)果cache。眾所周知,php每次執(zhí)行都需要經(jīng)歷源代碼–〉編譯–〉中間代碼–〉引擎執(zhí)行 這樣的過(guò)程,對(duì)于一些大型應(yīng)用,相當(dāng)多的時(shí)間花費(fèi)在無(wú)益的編譯上了(不僅僅是訪問(wèn)頁(yè)面的php文件需要經(jīng)過(guò)編譯環(huán)節(jié),當(dāng)腳本中利用require(), include()包含的一些文件都需要經(jīng)過(guò)編譯)。通過(guò)對(duì)編譯結(jié)果的cache,能夠極大地提高系統(tǒng)的性能(和系統(tǒng)復(fù)雜性、規(guī)模成正比) 。

php世界中三個(gè)主流的能夠?qū)崿F(xiàn)編譯cache的工具是:

The Zend Accelerator—A commercial, closed-source, for-cost compiler cache produced by Zend IndustriesThe ionCube Accelerator—A commercial, closed-source, but free compiler cache written by Nick Lindridge and distributed by his company, ionCubeAPC—A free and open-source compiler cache written by Daniel Cowgill and George Schlossnagle

APC的安裝方法,APC包含在PECL中,具體安裝如下 190-823 190-802 :

運(yùn)行命令

#pear install apc

之后,在php.ini文件中添加:

extension = /path/to/apc.so

這樣,就完成了安裝,當(dāng)下次運(yùn)行php,APC就會(huì)自動(dòng)激活,將編譯結(jié)果放入共享內(nèi)存中cache起來(lái),下次再執(zhí)行的時(shí)候就直接從內(nèi)存中獲取編輯結(jié)果執(zhí)行,不需要再次編譯。

疑問(wèn):對(duì)于自上次編譯后變動(dòng)了的php,APC是否能夠自動(dòng)重新編譯?

2、php代碼優(yōu)化:利用一些工具能夠市的編譯后產(chǎn)生優(yōu)質(zhì)中間代碼,具體如下:

The Zend Optimizer is a closed-source but freely available optimizer.The ionCube accelerator contains an integrated optimizer.proof-of-concept optimizer in PEAR.

優(yōu)化器主要的功能:

1、清除無(wú)用的代碼,例如永遠(yuǎn)也不會(huì)執(zhí)行的死代碼。

2、常量的計(jì)算,例如將$seconds_in_day = 24*60*60直接變?yōu)?seconds_in_day = 86400;

3、其它代碼優(yōu)化功能,例如有這么一個(gè)語(yǔ)句:

$count++;

會(huì)優(yōu)化為++$count,使得執(zhí)行速度更快。 當(dāng)然,如果語(yǔ)句是$i = $count++;則不會(huì)進(jìn)行優(yōu)化

標(biāo)簽: PHP
主站蜘蛛池模板: 金寨县| 甘孜县| 元阳县| 聊城市| 锡林郭勒盟| 海宁市| 民和| 新郑市| 定边县| 永宁县| 溆浦县| 长顺县| 新宁县| 丹东市| 高阳县| 西盟| 天峨县| 宾阳县| 镇赉县| 廊坊市| 宝兴县| 深圳市| 科技| 仙居县| 民权县| 彭泽县| 松滋市| 观塘区| 洛宁县| 兖州市| 静海县| 中阳县| 金乡县| 定州市| 山东| 松溪县| 土默特右旗| 乳源| 枣庄市| 临城县| 阜宁县|