您的位置:

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数据库操作类