天哪!!!!不试不知道。试了吓一跳!!!!!

swans 2002-05-16 06:33:05
<%
dim x,y
response.write now() & "<BR>"
for x=1 to 20000000
y=x
next
response.write y & "<BR>"
response.write now() & "<BR>"
%>

就这一小段循环二千万次的程序。做成.dll组件运行比asp文件快20陪。

----程序清单---
----delphi的主要方法----------------
procedure TMyAspObject.MyAspRequest;
var
x:integer;
y:integer;
begin
y:=0;
response.Write(y);
for x:=1 to 20000000 do
begin
y:=x;
end;
response.Write(y);
end;
-----------------------
----asp中调用----
<HTML>
<BODY>
<%
Set a = Server.CreateObject("Project1.MyAspObject")
response.write now() & "<BR> '输出运行前是间
a.MyAspRequest() '调用方法
response.write "<BR>" & Now() '输出运行后时间
a.close()
set a=nothing
%>
</BODY>
</HTML>
---------------------------------------
------asp程序-------
见最前面的程序
--------------------

结果
--组件-------------
2002-5-16 18:12:35
20000000
2002-5-16 18:12:35
不到一秒。
----asp----------------
2002-5-16 18:15:00
20000000
2002-5-16 18:15:21
且CPU占用率为100%
--------------------------

天哪!!哪位大侠解释一下原理。。。。
...全文
33 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
swans 2002-05-17
  • 打赏
  • 举报
回复
---------------------------------------------------------
:lostinet(爱情 =∫[缘分∪友谊+浪漫]d永远)
---------------------------------------------------------
但一个纯asp的程序,没有调用其它的任何组件,用的都是基本函数。
返倒是一个调用自已写的组件的页面中存在CreateObject这个方法。

其实综合各种因素考虑,我想也可能没有这么快,但由这个简单的测试来说,
也不得不让我惊呀,至少对于我刚刚想学习com编写b/s的菜鸟来说。是很惊呀。
我做这个测试的原因也是因为昨天看到了一个贴子。
http://www.csdn.net/expert/topic/642/642680.xml?temp=.4546778
下面的内容。
--------------------------------------------------------------------------------
回复人: waynebaby(韦恩卑鄙) ( ) 信誉:100 2002-05-16 12:26:00 得分:0

还有,一个会asp的必须了解 dhtml ,对dom能够达到较深刻的理解,才能成为asp高手,但往往学asp的人都忽视了这一点。
asp有很多办法提高效率,关键是你用不用。比如option explicit ,很少有人声明。因为他们本身就是初学者,对Vbs还停留在以用这个要求层上,他们把自己的无知怪罪到了asp的功能上,于是舆论也开始抨击asp了。

如果你吧你的商务逻辑完全放到com里面,或者干脆全部用asp组件运行,asp的速度可以跟.net拼一下(连.net第一次编译的时间都省掉)。如果你写的asp不是一个简单的叶面堆砌,而是一个面向对象的(基于com)的软件工程典范,以你的作品的可复用性,安全性和速度,完全可以得到3倍于你现在得到的薪水。因为整个工程的代码你完全可以独自搞定,所以你拿的蛋糕份数就大了。再加上你对com+和msmq的理解和应用经验。。。。。。

asp是整个ms vs6框架中很有争议的成员,你要把它和整个vs6 联系起来再评估她才能得到公正的评价。一样东西只有钻研高深了才能创造更多的价值,如果你什么都学啥也不精,或者紧跟流行浅尝既止,你能做的东西没有本质性的改变,那么你的薪水自然会逆水行舟了。


-----------------------------------------------------------------------------------

反正我要学习的越来越多。不单是asp.net,就是asp也还有很多。
Lostinet 2002-05-16
  • 打赏
  • 举报
回复
。。。
那有什么啊?
脚本本来就是慢。
但是运行时,主要不是脚本花的时间啊。。
大部分都是CreateObject,conn.Open,rs.Open..等COM组件花的时间

假设非常悲观的情况:
整个过程,脚本也是占10%左右。
如果脚本的时间省了95%
那么整个程序也只是省了10%*95%=9.5%而已。

所以,没有你那个20倍的因素的。
swans 2002-05-16
  • 打赏
  • 举报
回复
--------------------------
:BrightEye(问个不休)
----------------------
对,你出可以也试试呀。
BrightEye 2002-05-16
  • 打赏
  • 举报
回复
这么大的区别呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
freezwy 2002-05-16
  • 打赏
  • 举报
回复
asp解释执行,在一个独立的IIS进程内。
DLL运行在系统的进程内

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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