|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。实行目标:考证自动开释内存变量是不是有代价.
实行原始代码:
<scriptlanguage=vbscriptrunat=server>
Dimtemp1,temp2
temp1=space(1024*1024*50)50MB
fori=0to5000000提早
next
temp1=""开关变量
temp2=space(1024*1024*50)50MB
fori=0to5000000提早
next
Response.write"<metahttp-equiv=refreshcontent=4;url=http://localhost/memory_test.ASP>"
</script>
内存变更截:
截图注释:
CPU的波形变更是由页面主动革新引发的,不用在乎!我们要察看的只是内存线的变更.这是原始形态,内存线坚持程度无变更.
好,上面实行正式入手下手:
第一步:
把原始代码中的
temp1=space(1024*1024*50)50MB
后面的正文号往失落,改成
temp1=space(1024*1024*50)50MB
再察看内存变更一段工夫
内存变更截:
了局:
内存入手下手呈现方波.
第二步:
接着也把
temp2=space(1024*1024*50)50MB
后面的正文号往失落,改成
temp2=space(1024*1024*50)50MB
内存变更截:
了局:
方波比本来高了一层,成了门路形.
第三步:
接着也把
temp1=""开关变量
后面的正文号往失落,改成
temp1=""开关变量
看看是不是能开释第一个变量所占用的内存空间
内存变更截:
了局:
很分明,第二个波锋不见了,看来开释乐成了.
第四步:
我们先把代码恢复成最后的原始代码,等外存安稳上去后,再把前三步疾速做一次,以便在统一个截图里对照内存的变更情形.
内存变更截:
了局:
能够很分明的看到三种情形的分歧.无伦实行工夫和内存占用,变量自动开释都比不主动开释的好.
第五步:
接着第三步的代码,把
temp1=""开关变量
temp2=space(1024*1024*50)50MB
改成
temp1=""开关变量
temp1=space(1024*1024*50)50MB
内存变更截:
了局:
再看下步才给结论吧
第六步:
把
temp1=""开关变量
改成
temp1=""开关变量
看看了局会不会有所分歧
内存变更截:
了局:
用统一个变量名,即便再从头赋值,本来的占用过的空间也得不到开释或交换,并且等程序主动开释时,利用的工夫也比手动的慢.
上面把
temp1=""开关变量
temp1=space(1024*1024*50)50MB
互换一下两句的地位
temp1=space(1024*1024*50)50MB
temp1=""开关变量
后的截:
了局:
能够看出自动开释比主动的所必要的工夫要少.
实行结论:
自动来开释内存是有感化的,不是某些人所说的要等页面停止才干开释失落,大概只是呆等程序停止再主动开释,而是在实行过程当中也能够工资把持的.出格是程序中必要挪用到几个大致积的变量时,尽快开释失落已无用的变量,不仅能够加重服务器的包袱,也能够加速程序的运转.
假如发明此实行历程或结论有误,接待斧正.
最初,关于用"",empty或null来开释,了局基础是一样,有乐趣的能够本人亲身下手对照尝尝.至于说用哪一个来开释变量改正规或更无效率,我没法在次实行中判别出来,但愿晓得的伴侣来指教.
附:别的一个不年夜相干实行
<%%>内是不是有内容的区分(包含正文)
实行代码:
<metahttp-equiv=refreshcontent=4;url=http://localhost/memory_test.ASP>
<scriptlanguage=vbscriptrunat=server>
Dimtemp1,temp2
temp1=space(1024*1024*50)50MB
fori=0to5000000提早
next
temp1=""开关变量
temp2=space(1024*1024*50)50MB
fori=0to5000000提早
next
</script>
<%
%>
实行了局:
1.<%%>内无内容,内存稳定化
2.<%%>只要一个号,内存入手下手变更
改动前后对照:
了局:
<%与<scriptlanguage=vbscriptrunat=server>的前后地位有关,但仿佛只需<%%>内有内容,就会实行<scriptlanguage=vbscriptrunat=server></script>内的代码.但只需把<scriptlanguage=vbscriptrunat=server></script>交换成<%%>,就会实行<%%>内的代码,以是今后要注重二者的混用.
另有,在<scriptlanguage=vbscript>中的这类页面剧本,除非页面被关失落,不然所用过的变量不会像ASP一样主动扫除.能够从上面的代码失掉证明:
<scriptlanguage=vbscript>
Dimtemp
temp=space(1024*1024*50)50MB
temp=""
</script>
注重往失落正文号前后的内存的占用变更,不再截图申明.
</p>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了 |
|