asp.net运行速度比php快70倍?不可思议!

ivbnet 2012-05-16 02:01:00
测试方法

分别用asp.net、php执行一千万次for循环,获得执行时间。如下为测试代码:

asp.net

System.DateTime startTime = System.DateTime.Now;
for (long i = 1; i < 10000000; i++)
{
}
System.DateTime endTime = System.DateTime.Now;
System.TimeSpan ts = endTime - startTime;
Response.Write("页面执行时间:" + ts.Milliseconds.ToString("0.000") + " 毫秒");

php
<?php
$start_time=microtime(true);
for($i=0; $i<10000000; $i++)
{
}
$end_time=microtime(true);
print "页面执行时间: ".round(($end_time-$start_time)*1000,1)." 毫秒";
?>

执行结果

为了得到更合理的数据,采用各执行5次(第一次执行除外),然后取平均值。如下为测试结果:

语言 执行时间 平均时间
asp.net 31ms 15ms 31ms 15ms 15ms 21ms
php 1470ms 1473ms 1476ms 1467ms 1490ms 1475ms


从以上测试结果看出,asp.net的执行时间比php快了70倍,这个测试结果是我一直没有想到的。


原文:http://www.webkaka.com/blog/archives/the-speed-of-dotnet-php-and-asp.html
...全文
4980 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh_bo 2012-05-23
  • 打赏
  • 举报
回复
嗯,比较奥妙。
awey8899 2012-05-23
  • 打赏
  • 举报
回复
应该使用stopwatch来监控,这种计算时间是错误的。
whoo529 2012-05-23
  • 打赏
  • 举报
回复
加一个
int tmp=0;
for(...)
{
tmp = tmp+1;
}
在看看
六哥 2012-05-23
  • 打赏
  • 举报
回复
汗 我怎么自己 用win8 IIS8 .net4.5 PHP5.32 测试 PHP 明显要比.NET块呢
开发者孙小聪 2012-05-23
  • 打赏
  • 举报
回复
我觉得很正常 反正
Delta 2012-05-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

哦,是的
[/Quote]来看看。。。。。。。。。
shaofing 2012-05-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
测试方法

分别用asp.net、php执行一千万次for循环,获得执行时间。如下为测试代码:

asp.net

System.DateTime startTime = System.DateTime.Now;
for (long i = 1; i < 10000000; i++)
{
}
System.DateTime endTime = System.DateTime.N……
[/Quote]


C#,java 是编译语言,PHP是脚本语言(解释性语言)
fangpengyu 2012-05-23
  • 打赏
  • 举报
回复
这个不能看一个方面来比较谁快,要比较就要全面,这样才比较客观
masterjames 2012-05-22
  • 打赏
  • 举报
回复
没有意义啊,这种编译器都做了优化的。基本没有等循环算完。
我用过DELPHI测试,感觉觉得比C快。但编译器是明显自动优化了的。
回锅鱼 2012-05-22
  • 打赏
  • 举报
回复
php是每次访问都要编译的,他不会自己优化,需要程序员有好的编码习惯。php的空for循环是会编译的,而.net不会执行,所以php会慢一些。如果在for循环里加一些运算,二者的速度应该差不多。
thematter 2012-05-21
  • 打赏
  • 举报
回复
楼主确定是for 循环完全执行完之后得到的systemtime endtime?
bais224 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

可能asp.net for几次后就不for了、去打酱油了

引用 3 楼 的回复:

引用 2 楼 的回复:

唠叨哥我放到linux上面跑也差不多啊。

我怀疑是不是asp.net 空for是不是没处理去了。
楼主能不能在for里加些什么运算吧。


我猜应该是的.差距如果有这么大,那就神奇了.
[/Quote]
这个嫌疑确实很大!
xiaoqiang859 2012-05-21
  • 打赏
  • 举报
回复
呵呵,还是能说明一点问题的,不过样本太小了
  • 打赏
  • 举报
回复
我猜到最后这个帖子会打起来~
xt218218 2012-05-21
  • 打赏
  • 举报
回复
楼主的结帖率是亮点
lixkyx 2012-05-20
  • 打赏
  • 举报
回复
php执行常规的计算确实比其他语言慢,这是常识,没有啥奇怪的啊。它的优势不在这里。
冲杀 2012-05-20
  • 打赏
  • 举报
回复
你们那闲的蛋疼啊
czesen 2012-05-20
  • 打赏
  • 举报
回复
没理由呀, 我做过asp.net 与php多年, 总感觉php快很多。
.net 要中间编译呀。 php 直接 --> C
CandPointer 2012-05-19
  • 打赏
  • 举报
回复
空循环,是会优化的。

加个测试,

sm = 0;

for i = 1:100000
if rand >0.5 //这样,就彻底避免了编译器的对循环的特殊优化
sm = sm + i;
else
sm = sm - i;
end
end
redleaves 2012-05-19
  • 打赏
  • 举报
回复
PHP的实现的确是慢得可以.以至于像python和ruby这种以慢著称的语言都比它快...
不过它胜在接口丰富,而且大多免费...
再说了,搞个WEB应用而已,多数对性能不敏感,实在不行就喊客户加服务器嘛.有性能需求的,都直接用C++去了,谁还用PHP.
另外,这个测试相对来说权威一点.http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all
加载更多回复(31)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧