php運行測試對比,php比較

本文目錄一覽:

如何簡單測試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-tw/n/331367.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CAXJS的頭像CAXJS
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • JDK Flux 背壓測試

    本文將從多個方面對 JDK Flux 的背壓測試進行詳細闡述。 一、Flux 背景 Flux 是 JDK 9 對響應式編程的支持。它為響應式編程提供了一種基於推拉模型的方式,以支持…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Powersploit:安全評估與滲透測試的利器

    本文將重點介紹Powersploit,並給出相關的完整的代碼示例,幫助安全人員更好地運用Powersploit進行安全評估和滲透測試。 一、Powersploit簡介 Powers…

    編程 2025-04-28
  • Python介面自動化測試

    本文將從如下多個方面對Python編寫介面自動化進行詳細闡述,包括基本介紹、常用工具、測試框架、常見問題及解決方法 一、基本介紹 介面自動化測試是軟體測試中的一種自動化測試方式。通…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • HR測試用例生成工具:hrtest的全面解析

    本文將從使用、功能、優點和代碼示例等多個方面詳細介紹HR測試用例生成工具hrtest。 一、使用 HR測試用例生成工具hrtest是一款可以自動生成測試用例的工具,省去了繁瑣的手動…

    編程 2025-04-27
  • Go語言爬蟲對比Python

    在代碼執行效率和應用場景上,Go語言和Python都有各自的優勢。Go語言致力於高效、高並發的網路應用開發,而Python則具有強大的數據挖掘、機器學習和科學計算能力。最近,隨著G…

    編程 2025-04-27

發表回復

登錄後才能評論