基于什么样的理由 PHP 比其它 CGI 好呢?
时间:2007-02-17 来源:PHP爱好者
Q:基于什么样的理由 PHP 比其它 CGI 好呢?有没有比较具体的数据可以证明 PHP 执行与其它 CGI 执行的效率好 ? 现在我的公司是用 C 来写 CGI 的,如果换成 PHP,会不会比较好呢 ?没有强而有力的依据的话,我就没办法说服上面的人让我转成 PHP 了... A:
我认为"好" 要有三点
第一: 写出来的程式的执行速度快.
第二: 遇到有大量存取时的执行效能强.
第三: 程式开发的时间快,易维护。
PHP在这三点中,虽都不一定是最好的,但也都在前茅 以下是C,PHP和Perl在速度方面的比较
我用下面的算式测试
$s=1.0;
for ($i=1;$i<=10;$i ) {
for ($j=1;$j<=10;$j ) {
$s=$s*1.0005;
$s=$s/1.0004;
};
};
print $s;
?>
然后用ab -n 10000 -c 20 http://myCGI
测试,结果
C语言用了 37.511 秒
PHP3用了 45.393 秒
PERL用了 68.418 秒 看起是C 最快没错,不过,和PHP3的结果没有太大
的差距。
Perl最慢 以下为测试数据
==============================================
C 语言
============================================== Document Path: /~evan/test/gcc.CGI
Document Length: 19 bytes Concurrency Level: 20
Time taken for tests: 37.511 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1750000 bytes
HTML transferred: 190000 bytes
Requests per second: 266.59
Transfer rate: 46.65 kb/s received Connnection Times (ms)
min avg max
Connect: 0 30 3001
Processing: 4 40 69
Total: 4 70 3070 PHP3
==============================================
Document Path: /~evan/test/PHP3.PHP3
Document Length: 15 bytes Concurrency Level: 20
Time taken for tests: 45.393 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1710000 bytes
HTML transferred: 150000 bytes
Requests per second: 220.30
Transfer rate: 37.67 kb/s received Connnection Times (ms)
min avg max
Connect: 0 34 3039
Processing: 6 53 183
Total: 6 87 3222
PERL
==============================================
Document Path: /~evan/test/perl.CGI
Document Length: 17 bytes Concurrency Level: 20
Time taken for tests: 68.418 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1730173 bytes
HTML transferred: 170017 bytes
Requests per second: 146.16
Transfer rate: 25.29 kb/s received Connnection Times (ms)
min avg max
Connect: 0 22 3005
Processing: 9 112 323
Total: 9 134 3328 原作者:hanys,
来源:LinuxFab
php爱好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
我认为"好" 要有三点
第一: 写出来的程式的执行速度快.
第二: 遇到有大量存取时的执行效能强.
第三: 程式开发的时间快,易维护。
PHP在这三点中,虽都不一定是最好的,但也都在前茅 以下是C,PHP和Perl在速度方面的比较
我用下面的算式测试
$s=1.0;
for ($i=1;$i<=10;$i ) {
for ($j=1;$j<=10;$j ) {
$s=$s*1.0005;
$s=$s/1.0004;
};
};
print $s;
?>
然后用ab -n 10000 -c 20 http://myCGI
测试,结果
C语言用了 37.511 秒
PHP3用了 45.393 秒
PERL用了 68.418 秒 看起是C 最快没错,不过,和PHP3的结果没有太大
的差距。
Perl最慢 以下为测试数据
==============================================
C 语言
============================================== Document Path: /~evan/test/gcc.CGI
Document Length: 19 bytes Concurrency Level: 20
Time taken for tests: 37.511 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1750000 bytes
HTML transferred: 190000 bytes
Requests per second: 266.59
Transfer rate: 46.65 kb/s received Connnection Times (ms)
min avg max
Connect: 0 30 3001
Processing: 4 40 69
Total: 4 70 3070 PHP3
==============================================
Document Path: /~evan/test/PHP3.PHP3
Document Length: 15 bytes Concurrency Level: 20
Time taken for tests: 45.393 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1710000 bytes
HTML transferred: 150000 bytes
Requests per second: 220.30
Transfer rate: 37.67 kb/s received Connnection Times (ms)
min avg max
Connect: 0 34 3039
Processing: 6 53 183
Total: 6 87 3222
PERL
==============================================
Document Path: /~evan/test/perl.CGI
Document Length: 17 bytes Concurrency Level: 20
Time taken for tests: 68.418 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1730173 bytes
HTML transferred: 170017 bytes
Requests per second: 146.16
Transfer rate: 25.29 kb/s received Connnection Times (ms)
min avg max
Connect: 0 22 3005
Processing: 9 112 323
Total: 9 134 3328 原作者:hanys,
来源:LinuxFab
php爱好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +