本文目錄一覽:
如何簡單測試php7 和php5的性能
/**
計時和內存佔用檢測
參數:
$o:bool型,取值[TRUE;FALSE]
說明:
主要用來計算網站的記憶體和執行時間
記憶體佔用的部份可能會不夠準確,不準確時顯示0
返回:
輸出記憶體佔用值和執行時間
用法:
Fun::Sys();
echo Fun::Sys(TRUE);
PHP群:223494678
/**/
public static function Sys($o=FALSE){
static $t1,$m1;
if(!$o){
$t1=function_exists(‘microtime’) ? microtime() : 0;
$m1=function_exists(‘memory_get_usage’) ? memory_get_usage() : 0;
return;
}unset($o);
$t2=function_exists(‘microtime’) ? microtime() : 0;
$m2=function_exists(‘memory_get_usage’) ? memory_get_usage() : 0;
$t1=explode(‘ ‘,$t1);
$t2=explode(‘ ‘,$t2);
$t2=sprintf(“%.2fms”,($t2[1]+$t2[0]-$t1[1]-$t1[0])*1000);
$m2-=$m1;$m2=($m20) ? 0 : $m2;
$m2=($m2=1024) ? round($m2/1024,2).’Kb’ : $m2.’byte’;
unset($t1,$m1);
return ‘brMem:’.$m2.’nbsp;Time:’.$t2;
}
PHP和JSP對比?
現在InterNet 越來越成為生活中不可或缺的一部分,製作網頁的動態語言也越來越多,主要流行的有以下幾種,ASP,PHP 和 JSP,他們之間互有優缺點,筆者在工作實踐中對他們作了一下比較淺顯的比較。
ASP 由於其簡單功能實用等方面受到廣大朋友的喜歡,再加上MS的強有力支持,可以說是時下作站點最為流行的語言,他藉助MS的Com+ 技術,幾乎可以實現在C/S 能夠實現的所有功能,可以說確實具有相當的競爭力。ASp的代碼實現也很簡單,MS 提供的InterDev 在RAD 的基礎上,使Asp 的開發一夜之間火遍了大江南北。但是他的缺點是,由於MS 長久以來的霸道作風,他只能運行在MS 的平台上,因此在關鍵性的應用上使人難以輕易接受。
PHP 則市秉承Linux 的GNU 風格,藉助與源碼公開,使他迅速成為世界上目前應用最為廣泛的站點製作語言之一。藉助與C++的形式,引用類的概念,使得代碼的可重複性應用便的異常簡單。加上他和Linux,Apache 和MySql 的緊密配合,關鍵性的應用也沒有問題(有名的Sina就是採用Php)。但是他有一個比較大的麻煩,就是沒有一個非常有實力的公司專門給他做支持,因此相關的學習資料比較少,目前在國內使用他的站點比較多,但是專門講解他的站點就比較少。給初學者帶來了很多的麻煩。
JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病–腳本級執行(據說PHP4 也已經在Zend 的支持下,實現編譯運行).Sun 公司藉助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是Jsp–Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。
我在實際工作中,就這三種語言的性能進行了比較 首先進行的是循環性能測試首先測試的是Jsp測試採用 20000*20000 次循環運算(有沒有搞錯,這麼多),測試結果另人不可思議,該程序只用了不到 4 秒的時間就運行結束了。(沒有搞錯吧),程序代碼如下:
jsp:useBean id=’clock’ scope=’page’ class=’dates.JspCalendar’ type=”dates.JspCalendar”/
jsp:getProperty name=”clock” property=”time” /
%
int i=0;
int j=0;
int k=0;
for(i=0;i20000;i++){
for(j=0;j20000;j++){
}
}
%
jsp:useBean id=’clock1′ scope=’page’ class=’dates.JspCalendar’ type=”dates.JspCalendar”/
jsp:getProperty name=”clock1″ property=”time” /
下一步測試的是 PHP,最初也準備測試 20000*20000次,但是不管把程序最大運行時間調的再大,也無法運行結束,因此改為 2000*2000 ,運行時間竟然達到 84 秒,程序代碼如下:
?
$TTime=date(“Y-n-d”). ” ” . date(“H:i:s”);
echo $TTime;
echo “br”;
for($i=0;$i1000;$i++){
for($j=0;$j1000;$j++){
}
}
$TTime=date(“Y-n-d”). ” ” . date(“H:i:s”);
echo $TTime;
?
最後進行的是Asp 的測試,測試的循環也是 2000*2000(幾個0可要看清楚),運行時間是 63 秒,程序代碼如下:
%
response.write now
response.write “br”
for i=0 to 2000
for j=0 to 2000
next
next
response.write now
%
另外,我也對數據庫連接作了測試,由於Jsp 在連接數據庫時需要通過 JDBC,因此必須專門為此作一個連接數據庫的JavaBean,為了簡單起見,我只把測試結果寫出來,想要代碼的朋友,和我聯繫!
對 Oracle 8 進行 1000 次 Insert,Update,Select,和Delete
Jsp 需要 13 秒
Php 需要 69 秒
ASP 需要 73 秒
php使用mysqli和pdo擴展,測試對比mysql數據庫的執行效率完整示例
本文實例講述了php使用mysqli和pdo擴展,測試對比mysql數據庫的執行效率。分享給大家供大家參考,具體如下:
?php
/**
*
測試pdo和mysqli的執行效率
*/
header(“Content-type:text/html;charset=utf-8”);
//通過pdo鏈接數據庫
$pdo_startTime
=
microtime(true);
$pdo
=
new
PDO(“mysql:host=localhost;dbname=test”,”root”,”1234″,array(PDO::MYSQL_ATTR_INIT_COMMAND
=
“SET
NAMES’utf8′;”));
for($i=1;$i=100;$i++){
$title
=
“pdo標題”.$i;
$content
=
“pdo內容”.$i;
$addtime
=
time();
$user_id
=
$i;
$pdo_sql
=
“INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES(:title,:content,:addtime,:user_id)”;
$sth
=
$pdo-prepare($pdo_sql);
$sth-bindParam(‘:title’,$title);
$sth-bindParam(‘:content’,$content);
$sth-bindParam(‘:addtime’,$addtime);
$sth-bindParam(‘:user_id’,$user_id);
$sth-execute();
}
$pdo_endTime
=
microtime(true);
$pdo_time
=
$pdo_endTime
–
$pdo_startTime;
echo
$pdo_time;
echo
“hr/”;
//通過mysql鏈接數據庫
$mysqli_startTime
=
microtime(true);
$mysqli
=
mysqli_connect(“localhost”,”root”,”1234″,”test”)
or
die(“數據連接失敗”);
mysqli_query($mysqli,”set
names
utf8″);
for($i=1;$i=100;$i++){
$title
=
“mysqli標題”.$i;
$content
=
“mysqli內容”.$i;
$addtime
=
time();
$user_id
=
$i;
$sql
=
“INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES(‘”.$title.”‘,'”.$content.”‘,”.$addtime.”,”.$user_id.”)”;
mysqli_query($mysqli,$sql);
}
$mysqli_endTime
=
microtime(true);
$mysqli_time
=
$mysqli_endTime
–
$mysqli_startTime;
echo
$mysqli_time;
echo
“hr/”;
if($pdo_time
$mysqli_time){
echo
“pdo的執行時間是mysqli的”.round($pdo_time/$mysqli_time).”倍”;
}else{
echo
“mysqli的執行時間是pdo的”.round($mysqli_time/$pdo_time).”倍”;
}
測試結果:其實經過多次測試,pdo和mysqli的執行效率差不多。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作數據庫技巧總結》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:php使用mysqli和pdo擴展,測試對比連接mysql數據庫的效率完整示例php中數據庫連接方式pdo和mysqli對比分析php中關於mysqli和mysql區別的一些知識點分析php操作mysqli(示例代碼)php封裝的mysqli類完整實例PHP以mysqli方式連接類完整代碼實例php簡單解析mysqli查詢結果的方法(2種方法)php中mysql連接方式PDO使用詳解Php中用PDO查詢Mysql來避免SQL注入風險的方法php
mysql
PDO
查詢操作的實例詳解PHP實現PDO的mysql數據庫操作類
原創文章,作者:CAXJS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331367.html