PHP性能分析(一)

語言語法優(yōu)化

在程序員開發(fā)程序代碼的時候仅政,對語言語法的熟悉度以及底層實現(xiàn)原理中了解的深淺吴侦,決定了代碼的質(zhì)量央星,那么在語法及系統(tǒng)函數(shù)使用上默伍,可以從以下幾點來處理代碼的優(yōu)化問題

1碾盐、系統(tǒng)內(nèi)置函數(shù)的使用率(能使用系統(tǒng)內(nèi)置函數(shù)就使用系統(tǒng)內(nèi)置函數(shù)):能夠使用系統(tǒng)內(nèi)置函數(shù)解決的問題晃跺,絕對不要自己造輪子來實現(xiàn),但是很多面試官往往要面試者寫基礎(chǔ)算法廓旬,典型的造輪子過程哼审,造的輪子遠遠沒有系統(tǒng)內(nèi)置函數(shù)來的快

2、內(nèi)置函數(shù)的區(qū)別:PHP中有大量的內(nèi)置函數(shù)孕豹,實現(xiàn)同一業(yè)務(wù)邏輯功能,可能會有多個內(nèi)置函數(shù)來實現(xiàn)十气,不同的函數(shù)在執(zhí)行的時候励背,消耗的內(nèi)存和時間也是不同的,所以砸西,學(xué)習(xí)更多的函數(shù)底層實現(xiàn)機制叶眉,對我們開發(fā)中應(yīng)對不同的業(yè)務(wù)邏輯有這很大的作用

3、魔術(shù)方法的使用率(不是必須使用的話芹枷,建議盡可能少的使用):魔術(shù)方法的使用比起直接調(diào)用屬性或者方法要來的慢衅疙,少量的調(diào)用訪問區(qū)別看不出來大小,并發(fā)量大之后區(qū)別會越來越明顯

4鸳慈、禁用@錯誤抑制符:雖然在開發(fā)過程中某些懶程序員會拿@來抑制部分錯誤饱溢,但是,@錯誤抑制符在代碼執(zhí)行時走芋,需要編譯成PHP底層opcode來進行绩郎,那么會在錯誤抑制符前增加begin_silence進行屏蔽錯誤的拋出潘鲫,也就是將error_reporting()錯誤級別給全部屏蔽,在轉(zhuǎn)換成opcode之后會額外多出幾行代碼(可通過PHP中vld擴展來查看)

5肋杖、內(nèi)存的合理使用:雖然PHP有自己的垃圾回收機制溉仑,但是,在代碼中我們能夠隨時處理那些不使用的變量時状植,內(nèi)存會大大的節(jié)省下來浊竟,當然,unset()也會有搞不定的時候津畸,盡可能讓自己在開發(fā)過程中釋放內(nèi)存

6振定、正則表達式:正則表達式雖然可以幫助我們解決很多問題,但是正則寫的好與壞洼畅,是否進行全文匹配吩案,都對PHP性能有影響,當然帝簇,隨著我們開發(fā)時間的深入以及對PHP的學(xué)習(xí)徘郭,對于正則的使用會越來越熟練,寫出的表達式也越來越符合標準

7丧肴、避免循環(huán)運算:對于新手來說残揉,做一個for或者while循環(huán)的時候,經(jīng)常會出現(xiàn)以下這種情況

$arr = [1,2,3,4];

for( $i = 0; $i < count($arr); $i++){

//do something

}

對于刪除線中的問題建議直接杜絕芋浮,本身循環(huán)就會消耗很大的資源抱环,在加上運算,資源消耗更加龐大

8纸巷、減少密集型運算:相比起其他語言來說镇草,個人認為PHP更加適合做一個紐帶的作用,而不是實現(xiàn)大量密集型業(yè)務(wù)處理瘤旨,比如大量讀寫文件梯啤,項目中多會有錯誤日志的處理,如果自己造輪子來實現(xiàn)存哲,往往性能很差因宇,不妨交給C來做!雖然我們PHP技術(shù)大牛很多情況下模擬多進程來搞定祟偷。察滑。。修肠。贺辰。。

9、訪問數(shù)組元素中引號區(qū)別:對于數(shù)組的訪問魂爪,嚴格使用$arr["key"]來進行先舷,因為如果key不加引號的話,系統(tǒng)會先去找常量中有沒有key滓侍,如果有蒋川,使用常量,沒有撩笆,才會從數(shù)組中來找對應(yīng)的下標

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捺球,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子夕冲,更是在濱河造成了極大的恐慌氮兵,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歹鱼,死亡現(xiàn)場離奇詭異泣栈,居然都是意外死亡,警方通過查閱死者的電腦和手機弥姻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門南片,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人庭敦,你說我怎么就攤上這事疼进。” “怎么了秧廉?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵伞广,是天一觀的道長。 經(jīng)常有香客問我疼电,道長嚼锄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任蔽豺,我火速辦了婚禮灾票,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茫虽。我一直安慰自己,他們只是感情好既们,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布濒析。 她就那樣靜靜地躺著,像睡著了一般啥纸。 火紅的嫁衣襯著肌膚如雪号杏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音盾致,去河邊找鬼主经。 笑死,一個胖子當著我的面吹牛庭惜,可吹牛的內(nèi)容都是我干的罩驻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼护赊,長吁一口氣:“原來是場噩夢啊……” “哼惠遏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起骏啰,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤节吮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后判耕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體透绩,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年壁熄,在試婚紗的時候發(fā)現(xiàn)自己被綠了帚豪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡请毛,死狀恐怖志鞍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情方仿,我是刑警寧澤固棚,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站仙蚜,受9級特大地震影響此洲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜委粉,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一呜师、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贾节,春花似錦汁汗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斤程,卻和暖如春角寸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工扁藕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沮峡,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓亿柑,卻偏偏與公主長得像邢疙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子橄杨,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容