php執行效率
① php執行效率低
php執行慢是因為它是伺服器端程序語言,根據服務速度而定!時快時慢也就很正常了,就好比有些網站打開時快時慢一樣
② 都說JAVA比PHP執行效率高為什麼
因為PHP是解釋執行(完全不編譯),而JAVA是半編譯(編譯後代碼非CPU執行執行),所以JAVA的效率要高。
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
③ 你用什麼方法檢查PHP腳本的執行效率(通常是腳本執行時間)和資料庫sql的效率(通常是資料庫Query時間),
一般是在你要檢查的代碼開頭記錄一個時間,結尾記錄一個時間。取差值
但這個時間一般來說都很快,在一秒以內,所以不能直接用mktime(),我給你個我寫的函數
function getmicrotime(){
list($usec,$sec) = explode(" ",microtime());
$num = ((float)$usec+(float)$sec);
return sprintf("%.4f",$num);
}
用法:
$t_start = getmicrotime();
//這里放你要檢查的代碼
$t_end = getmicrotime();
echo $t_end - $t_start;
輸出的單位是秒,"%.4f"代表精確到小數點後四位,這個可以自行更改
④ 提高PHP開發效率的技巧
用單引號代替雙引號來包含字元串,這樣做會更快一些。因為PHP會在雙引號包圍的字元串中搜尋變數,單引號則不會,注意:只有echo能這么做,它是一種可以把多個字元串當作參數的「函數」(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
2、$row[』id』] 的速度是$row[id]的7倍。
3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字元串連接,比如echo $str1,$str2。
4、在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
5、注銷那些不用的變數尤其是大數組,以便釋放內存。
6、盡量避免使用__get,__set,__autoload。
7、require_once()代價昂貴。
8、include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統路徑所需的時間會更少。
9、如果你想知道腳本開始執行(譯註:即伺服器端收到客戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於time()。
10、函數代替正則表達式完成相同功能。
11、str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。
⑤ 為什麼 PHP 一直在優化程序執行效率,而不優化資料庫連接
因為程序分兩種。一是邏輯層 ,二是數據層。邏輯層一般是進行運算的,比如一些演算法。這個很影響執行效率的。然而數據層多數是用來存儲數據的。比如用戶信息、內容等。這些沒有好的辦法優化。但是你所謂的優化數據連接我沒太理解。一般也會做數據優化。比如mysql性能優化、數據緩存、數據查詢等。還有就是分布式部署等。希望能幫到你。
⑥ PHP執行效率低
您好,mysql_connect是連接函數,快慢取決於伺服器性能和網路連接狀況,11ms屬於正常范圍,類似你玩網路游戲,現在都有一個延遲,11ms的延遲屬於優質網路,不會感覺卡頓,上了80ms就會感覺延遲了。
self你可以理解為本機伺服器,cum你可以理解為對方伺服器。如果您還是覺得慢,可以用cmd,ping www..com,看看你連接網路的延遲有多少,我這ping 22ms,伺服器之間連接,延遲肯定是有的。
⑦ 請高手介紹.net、php、asp、jsp的執行效率(及原因)和優化方式!!!(只求答案,滿意加分!)
下面簡單的介紹他們的功能和用途,執行效率等。每個都有各自的優缺點看你是做甚什麼方面的研究開發用。
.net,是網站編程,現在很多都用這個,但是這個語言編程都有統一思路,很好掌握。窒息那個效率不是很高;
php 支持跨平台,很容易學會,執行的效率很高;
asp是ASP.net的前身,它比較穩定,比.net要弱一點。但是比.net好學。
jsp 是網頁編程,這個學習大約一周就能搞定,不過這個得多實踐,不然的話,時間長了,就容易忘記。
⑧ PHP 的 try.catch 會不會影響程序的執行效率
try..catch是異常處理機制,為防止程序體系的崩潰提供了一個很好的防禦手段。
異常處理代碼對於程序的執行效率是有一定影響的,所以通常建議是不要濫用,更不應以異常處理來代替 if..else。
更進一步的影響程序執行效率的數據,在網上有提供了一個簡單的測試代碼:
作者:金正
<?php
if($argc!==3||
!in_array($argv[1],array('try','return'))||
(int)$argv[2]<1){
exit(1);
}
$method=$argv[1];
$cnt=(int)$argv[2];
functionmTryFunc(){
thrownewException('test');
}
functionmReturnFunc(){
returnarray(
'err_no'=>-1,
'err_msg'=>'test',
);
}
functionerrorFunc($str){
}
functionmTry($cnt){
for($i=0;$i<$cnt;$i++){
try{
mTryFunc();
}
catch(Exception$e){
errorFunc($e->getMessage());
}
}
}
functionmReturn($cnt){
for($i=0;$i<$cnt;$i++){
$ret=mReturnFunc();
if($ret['err_no']!=0){
errorFunc($ret['err_msg']);
}
}
}
$timeStart=microtime(true);
switch($method){
case'try':
mTry($cnt);
break;
case'return':
mReturn($cnt);
break;
default:
exit(1);
}
$timeEnd=microtime(true);
$result=$timeEnd-$timeStart;
echo"Method:$methodCycle:$cntCost:$result ";
exit(0);
⑨ PHP 的 try.catch 會不會影響程序的執行效率
第一,當然會有影響。操作系統必須做出一些設置,這樣才能在產生異常的時候進入到你的cache或者finally塊裡面。
第二,絕大多數情況下這不是你需要考慮的。加上try-cache也就是給你的代碼增加了幾個最多幾十個cpu指令,除非這是在一個非常要求性能的場景中,否則你不應該考慮這幾十個cpu指令引起的性能問題。你自己可以算一下你的cpu需要耗費多長時間來執行這些多出來的指令:假設每個指令需要2個指令周期(多數指令只需一個,少數需要更多),一個主頻2g的cpu執行100個指令需要 100 *2/2*1024*1024*1024 秒。自己算算是多少吧。
類似的,在絕大多數場景下,你不應該讓這些極其細微的性能差異來影響你的代碼——相反的,你更應該考慮的是你的代碼可讀性。類似這些性能差異,你要操心的是你節省出來的那幾個飛秒或者納秒或者毫秒,是否值得你為此花這么多投入。
最後,性能優化的先後順序永遠是 網路——磁碟——內存或cpu。
⑩ php多重循環的執行效率問題
如果是普通的網頁~而且用戶量大,建議使用緩存
如果僅僅是自己用PHP寫的一個用於執行某個任務的程序,使用sleep()函數,讓循環稍微停頓一下~
不過,在不影響效率的情況下,無法阻止PHP 調用CPU~