一份ASP内存的释放的实验报告(3)

来源:Viphot 时间:2007-10-17 13:09:00 


第五步:
接着第三步的代码,把
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 来释放,结果基本是一样,有兴趣的可以自己亲自动手比较试试。至于说用哪个来释放变量更正规或更有效率,我无法在此实验中判断出来,希望知道的朋友来指教。

标签:内存,实验,asp
0
投稿

猜你喜欢

  • Golang与python线程详解及简单实例

    2023-03-13 18:55:25
  • javascript实现圣旨卷轴展开效果(代码分享)

    2024-04-10 11:03:29
  • go语言实现简易比特币系统钱包的原理解析

    2024-05-22 10:12:02
  • python调用机器喇叭发出蜂鸣声(Beep)的方法

    2022-01-09 15:17:20
  • python掌握字符串只需这一篇就够了

    2023-01-09 03:39:10
  • 详解Python进阶之切片的误区与高级用法

    2022-09-18 04:03:12
  • MS SQL7.0的数据迁移到MySQL上的一种方法

    2008-11-01 16:59:00
  • Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色

    2021-12-03 04:04:53
  • 基于Python实现语音合成小工具

    2023-01-13 15:25:38
  • Python编程django实现同一个ip十分钟内只能注册一次

    2023-01-18 17:01:55
  • 前端面试之vue2和vue3的区别有哪些

    2024-04-28 10:54:38
  • 深入浅出MySQL双向复制技术

    2009-03-25 15:40:00
  • 设计表单的标签和输入区

    2009-04-27 16:16:00
  • Python ArgumentParse的subparser用法说明

    2022-08-15 08:41:02
  • python3使用urllib示例取googletranslate(谷歌翻译)

    2021-08-31 19:20:34
  • python的变量和运算符你都知道多少

    2023-02-15 00:30:26
  • 在Python的Django框架中simple-todo工具的简单使用

    2023-02-28 07:54:50
  • python使用selenium实现批量文件下载

    2022-09-23 15:27:08
  • 磁盘写满导致MySQL复制失败的解决方案

    2024-01-18 09:19:15
  • 组件:Adodb.Stream 用法介绍

    2008-10-09 12:39:00
  • asp之家 网络编程 m.aspxhome.com