PHP性能分析(一)

語言語法優化

在程序員開發程序代碼的時候,對語言語法的熟悉度以及底層實現原理中了解的深淺,決定了代碼的質量,那么在語法及系統函數使用上,可以從以下幾點來處理代碼的優化問題

1、系統內置函數的使用率(能使用系統內置函數就使用系統內置函數):能夠使用系統內置函數解決的問題,絕對不要自己造輪子來實現,但是很多面試官往往要面試者寫基礎算法,典型的造輪子過程,造的輪子遠遠沒有系統內置函數來的快

2、內置函數的區別:PHP中有大量的內置函數,實現同一業務邏輯功能,可能會有多個內置函數來實現,不同的函數在執行的時候,消耗的內存和時間也是不同的,所以,學習更多的函數底層實現機制,對我們開發中應對不同的業務邏輯有這很大的作用

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

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

5、內存的合理使用:雖然PHP有自己的垃圾回收機制,但是,在代碼中我們能夠隨時處理那些不使用的變量時,內存會大大的節省下來,當然,unset()也會有搞不定的時候,盡可能讓自己在開發過程中釋放內存

6、正則表達式:正則表達式雖然可以幫助我們解決很多問題,但是正則寫的好與壞,是否進行全文匹配,都對PHP性能有影響,當然,隨著我們開發時間的深入以及對PHP的學習,對于正則的使用會越來越熟練,寫出的表達式也越來越符合標準

7、避免循環運算:對于新手來說,做一個for或者while循環的時候,經常會出現以下這種情況

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

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

//do something

}

對于刪除線中的問題建議直接杜絕,本身循環就會消耗很大的資源,在加上運算,資源消耗更加龐大

8、減少密集型運算:相比起其他語言來說,個人認為PHP更加適合做一個紐帶的作用,而不是實現大量密集型業務處理,比如大量讀寫文件,項目中多會有錯誤日志的處理,如果自己造輪子來實現,往往性能很差,不妨交給C來做!雖然我們PHP技術大牛很多情況下模擬多進程來搞定。。。。。。

9、訪問數組元素中引號區別:對于數組的訪問,嚴格使用$arr["key"]來進行,因為如果key不加引號的話,系統會先去找常量中有沒有key,如果有,使用常量,沒有,才會從數組中來找對應的下標

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,885評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,312評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,993評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,667評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,410評論 6 411
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,778評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,775評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,955評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,521評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,266評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,468評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,998評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,696評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,095評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,385評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,193評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,431評論 2 378

推薦閱讀更多精彩內容