-
測試程序執(zhí)行時間: time test_magic.php查看全部
-
性能優(yōu)化項目上,php的性能問題占整體項目性能問題的比例可能不足50%,不要局限于僅優(yōu)化php性能。 php性能問題解決方向: (1)php語言級的性能優(yōu)化 (2)php周邊問題的性能優(yōu)化 (3)php語言自身分析、優(yōu)化查看全部
-
三個主要問題查看全部
-
性能分析工具XhPorf: 打點:xhprof_enable() $data = xhprof_disable();//返回性能數(shù)據(jù)查看全部
-
php周邊: linux運行環(huán)境,文件存儲(硬盤),數(shù)據(jù)庫,緩存(軟硬件結(jié)合:硬件--內(nèi)存,軟件--memcache,redis等基于內(nèi)存的緩存)查看全部
-
優(yōu)化點:務(wù)必使用帶引號字符串做鍵名(這里準(zhǔn)確來說應(yīng)該叫鍵名而不叫鍵值) 情況描述:php會將沒有引號的鍵名當(dāng)做常量,產(chǎn)生查找常量的開銷 好的建議:嚴(yán)格使用帶引號作為鍵名 舉例: <?php define('key','apple');//定義常量key為apple $array = array( 'key'=>'hello world'. 'apple'=>'there is nothing' ); echo $array['key']."<br>";//執(zhí)行結(jié)果:hello world echo $array[key];//執(zhí)行結(jié)果:there is nothing.因為此時key是常量,系統(tǒng)找到key常量為apple ?> 如果以上例子,注釋掉define一行,則執(zhí)行echo $array[key];將報錯PHP Notice:use of undefined constant key - assumed 'key'查看全部
-
php語言級性能優(yōu)化點:減少計算密集型業(yè)務(wù)。 PHP不適合做密集型業(yè)務(wù):大批量的日志分析、大批量數(shù)據(jù)處理、處理大數(shù)據(jù)。 php語言特性決定了php不適合做大數(shù)據(jù)運算。(php的底層是c,php的運算、處理流程都需要轉(zhuǎn)換成C來實現(xiàn),加上PHP的運行環(huán)境等因素,其效率不如C) php適用場景:適合銜接Webserver與后端服務(wù)UI呈現(xiàn)查看全部
-
優(yōu)化點:避免在循環(huán)內(nèi)做運算 情況描述:循環(huán)內(nèi)的計算式將會被重復(fù)計算查看全部
-
(5)優(yōu)化點:合理使用內(nèi)存,使用unset()及時釋放不適用的內(nèi)存 情況描述:php有內(nèi)存回收機制保底,但也請小心使用內(nèi)存 好的建議:利用unset()及時釋放不使用的內(nèi)存(注:unset出現(xiàn)注銷不掉的情況,可百度) (6)優(yōu)化點:盡量少使用正則表達式,利用字符串處理函數(shù),實現(xiàn)相同的邏輯 情況描述:正則表達式的回溯開銷較大,優(yōu)化正則表達式需要技術(shù)活 好的建議:利用字符串處理函數(shù),實現(xiàn)相同的邏輯查看全部
-
1、使用php擴展vld可以查看Opcode。 2、命令php -dvld.active=1 -dvld.excute=0 test.php中active=1表明用vld擴展,execute-0只想查看Opcode,并不想執(zhí)行。 3、在開發(fā)中盡量少用@錯誤抑制符??梢允褂胻ry throw來拋出異常查看全部
-
優(yōu)化點:少用php魔法函數(shù)。 在實際處理中,若php魔法函數(shù)處理起來可以比較簡便時,需做抉擇。 在linux中,使用命令: time php test.php 可以查看執(zhí)行test.php耗時時間,主要關(guān)注user的時間。查看全部
-
php內(nèi)置函數(shù)之間依然存在性能差異,所以需要多了解各個函數(shù)的時間復(fù)雜度查看全部
-
php代碼運行流程:zend引擎逐行掃描.php文件轉(zhuǎn)碼解析成自己能識別的格式,再解析成opcodes(最終執(zhí)行的機器碼),執(zhí)行,輸出. PHP緩存多使用opcode緩存,可以減少編譯解析,提高效率加快速度。 php內(nèi)置函數(shù)會節(jié)省掃描轉(zhuǎn)碼的時間,生成的opcode體積也會小,執(zhí)行也快,所以內(nèi)置函數(shù)是比自己寫的代碼運行的速度要快的。查看全部
-
vim -0 fileone.php filetwo.php 分屏打開兩個文件查看全部
-
PHP語言級性能優(yōu)化:多使用PHP內(nèi)置變量、常量、函數(shù)查看全部
舉報
0/150
提交
取消