一份ASP内存的释放的实验报告(3)
来源:Viphot 发布时间:2007-10-17 13:09:00
标签:内存,实验,asp
第五步:
接着第三步的代码,把
temp1="" '开关变量
temp2 = space(1024*1024*50) '50MB
改成
'temp1="" '开关变量
temp1 = space(1024*1024*50) '50MB
<script language=vbscript runat=server>
Dim temp1,temp2
temp1 = space(1024*1024*50) '50MB
for i = 0 to 5000000 ' 延迟
next
'temp1="" '开关变量
temp1 = space(1024*1024*50) '50MB
for i = 0 to 5000000 ' 延迟
next
Response.write "<meta http-equiv='refresh' content='4;url=http://localhost/memory_test.ASP'>"
</script>
内存变化截图6:
结果:再看下步才给结论吧
第六步:
把
'temp1="" '开关变量
改成
temp1="" '开关变量
<script language=vbscript runat=server>
Dim temp1,temp2
temp1 = space(1024*1024*50) '50MB
for i = 0 to 5000000 ' 延迟
next
temp1="" '开关变量
temp1 = space(1024*1024*50) '50MB
for i = 0 to 5000000 ' 延迟
next
Response.write "<meta http-equiv='refresh' content='4;url=http://localhost/memory_test.ASP'>"
</script>
看看结果会不会有所不同
内存变化截图7:
结果:用同一个变量名,即使再重新赋值,原来的占用过的空间也得不到释放或替换(截图6说明),而且等程序被动释放时,使用的时间也比手动的慢(综合截图6、7说明)。
下面把
temp1="" '开关变量
temp1 = space(1024*1024*50) '50MB
调换一下两句的位置
temp1 = space(1024*1024*50) '50MB
temp1="" '开关变量
<script language=vbscript runat=server>
Dim temp1,temp2
temp1 = space(1024*1024*50) '50MB
for i = 0 to 5000000 ' 延迟
next
temp1 = space(1024*1024*50) '50MB
temp1="" '开关变量
for i = 0 to 5000000 ' 延迟
next
Response.write "<meta http-equiv='refresh' content='4;url=http://localhost/memory_test.ASP'>"
</script>
后的截图8:
结果:可以看出主动释放比被动的所需要的时间要少(波峰尖)
实验结论:
主动来释放内存是有作用的,不是某些人所说的要等页面结束才能释放掉,或者只是呆等程序结束再自动释放,而是在执行过程中也可以人为控制的。特别是程序中需要调用到几个大体积的变量时,尽快释放掉已无用的变量,不但可以减轻服务器的负担,也可以加快程序的运行。
如果发现此实验过程或结论有误,欢迎指正。
最后,关于用"",empty 或 null 来释放,结果基本是一样,有兴趣的可以自己亲自动手比较试试。至于说用哪个来释放变量更正规或更有效率,我无法在此实验中判断出来,希望知道的朋友来指教。
0
投稿
猜你喜欢
- 当地址栏没有参数"id"时: 代码如下:Request.QueryString["ID"] == n
- 很佩服国外一些前端开发人员对待学问的研究精神,他们很善于总结发现。看到一篇关于安全字体List of Web Safe Fonts的文章,里
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- b 和 i 标签在现在的 Web 标准潜规则中是不推荐使用,甚至是反对使用的,因为认为他们只是“表现”粗体和斜体,而没有任何“语义”。更多的
- SQL Server数据库涉及到的数据仓库概念:1.多维数据集:多维数据集是联机分析处理 (OLAP) 中的主要对象,是一项可对数据仓库中的
- // 格式化字符串 Fmt("{0}.[{id}].{name}",{id:1,name:'
- 具体代码如下:Function ASTCreateFtpSite(IPAddress, RootDirectory,&n
- asp之家补充两点,以让大家看的更明白:一.什么是GUID?由于水平有限在看到这篇文章时,我并不了解什么是GUID,为了看懂文章当然先请教一
- 使用select @@identity 得到刚插入数据的ID1.适用于所有 ADO 版本<%Dim loConn, 
- 国 * 公司安全团队开发出利用赛门铁克数据库安全与审计(SDSA)设备监视数据库的一系列客户化的政策。他们是如何在已有安全策略基础上做优
- 解决了ACCESS数据库路径的问题!采用DBType=0或DBType=1来区分AC库还是MSSQL库具体采用AC库时应注意的事项,请看程序
- ASP+javascript实现可显示和隐藏的树型菜单实例:<script language=&qu
- 感谢人类方方面面的创新,今天Web开发已经不需要在如何设计网站上面浪费时间了。框架和库帮助web开发者得以专注于真正的开发工作上。下面的这些
- 最近,就“尊重”一词,个人小有感概。也许跟我说“尊重”一词的同事并不是这么想的,但我反思了一下自己,作为一名设计师,确实存在这些疑问(不足之
- 如果仅仅是定义表格的边框为1(border="1")和边框颜色值(如borderC
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- 我们到目前为止所谈到的SQL语句相对较为简单,如果再能通过标准的recordset循环查询,那么这些语句也能满足一些更复杂的要求。不过,何必
- 做网站数据库,是选SQL Server还是Access好,可能您会说:选MySQL好,不过现在只是讨论IIS+ASP这种架构下的选择,不讨论
- 有时,希望除去某些记录或更改它们的内容。DELETE 和 UPDATE 语句令我们能做到这一点。用update修改记录UPDATE tbl_
- 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月My