1、盡量靜態(tài)化
如果一個(gè)方法能被靜態(tài),那就聲明它為靜態(tài)的,速度可提高1/4。其實(shí)靜態(tài)方法和非靜態(tài)方法的效率主要區(qū)別在內(nèi)存:靜態(tài)方法在程序開始時(shí)生成內(nèi)存,實(shí)例方法在程序運(yùn)行中生成內(nèi)存,所以靜態(tài)方法可以直接調(diào)用,實(shí)例方法要先成生實(shí)例,通過實(shí)例調(diào)用方法,靜態(tài)速度很快,但是多了會(huì)占內(nèi)存。
2、在include和require中使用絕對(duì)路徑
如果包含相對(duì)路徑,PHP會(huì)在include_path里面遍歷查找文件。用絕對(duì)路徑就會(huì)避免此類問題,因此解析操作系統(tǒng)路徑所需的時(shí)間會(huì)更少。
3、盡量使用緩存,建議用memcached
高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),提高動(dòng)態(tài)網(wǎng)絡(luò)應(yīng)用程序性能,減輕數(shù)據(jù)庫(kù)的負(fù)擔(dān);也對(duì)運(yùn)算碼 (OP code)的緩存很有用,使得腳本不必為每個(gè)請(qǐng)求做重新編譯。
4、不要隨便就復(fù)制變量
有時(shí)候?yàn)榱耸?PHP 代碼更加整潔,一些 PHP 新手會(huì)把預(yù)定義好的變量復(fù)制到一個(gè)名字更簡(jiǎn)短的變量中,其實(shí)這樣做的結(jié)果是增加了一倍的內(nèi)存消耗,只會(huì)使程序更加慢。
5、某些地方使用isset代替strlen
當(dāng)操作字符串并需要檢驗(yàn)其長(zhǎng)度是否滿足某種要求時(shí),你想當(dāng)然地會(huì)使用strlen()函數(shù)。此函數(shù)執(zhí)行起來相當(dāng)快,因?yàn)樗蛔鋈魏斡?jì)算,只返回在zval 結(jié)構(gòu)(C的內(nèi)置數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)PHP變量)中存儲(chǔ)的已知字符串長(zhǎng)度。
但是,由于strlen()是函數(shù),多多少少會(huì)有些慢,因?yàn)楹瘮?shù)調(diào)用會(huì)經(jīng)過諸多步驟,如字母小寫化(譯注:指函數(shù)名小寫化,PHP不區(qū)分函數(shù)名大小寫)、哈希查找,會(huì)跟隨被調(diào)用的函數(shù)一起執(zhí)行。在某些情況下,你可以使用isset() 技巧加速執(zhí)行你的代碼。
推薦教程:PHP視頻教程
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com