婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 一份ASP內存的釋放的實驗報告

一份ASP內存的釋放的實驗報告

熱門標簽:云南便宜外呼系統(tǒng)平臺 沈陽三五防封電銷卡 虛擬電話外呼系統(tǒng) 成都ai外呼系統(tǒng)線路 長春公司外呼系統(tǒng)中心 廣東語音外呼系統(tǒng)公司 鄢陵學校如何做地圖標注 沈陽電話機器人公司 鄭州智能外呼電銷機器人廠家
實驗目的:驗證主動釋放內存變量是否有價值.

實驗原始代碼:


script language=vbscript runat=server>
Dim temp1,temp2

'temp1 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next

'temp1="" '開關變量

'temp2 = 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>


內存變化截圖1:


截圖解釋:CPU的波形變化是由頁面自動刷新引起的,不必在意!我們要觀察的只是內存線的變化。這是原始狀態(tài),內存線保持水平無變化。

好,下面實驗正式開始:

第一步:

把原始代碼中的
'temp1 = space(1024*1024*50) '50MB
前面的注釋號 ' 去掉,改成
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="" '開關變量

'temp2 = 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>


再觀察內存變化一段時間

內存變化截圖2:


結果:內存開始出現(xiàn)方波。

第二步:

接著也把
'temp2 = space(1024*1024*50) '50MB
前面的注釋號 ' 去掉,改成
temp2 = 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="" '開關變量

temp2 = 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>


內存變化截圖3:


結果:方波比原來高了一層,成了階梯形。

第三步:

接著也把
'temp1="" '開關變量
前面的注釋號 ' 去掉,改成
temp1="" '開關變量


script language=vbscript runat=server>
Dim temp1,temp2

temp1 = space(1024*1024*50) '50MB

for i = 0 to 5000000 ' 延遲
next

temp1="" '開關變量

temp2 = 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>


看看是否能釋放第一個變量所占用的內存空間

內存變化截圖4:


結果:很明顯,第二個波鋒不見了,看來釋放成功了。

第四步:

我們先把代碼恢復成最初的原始代碼,等內存平穩(wěn)下來后,再把前三步快速做一次,以便在同一個截圖里比較內存的變化情況。

內存變化截圖5:


結果:可以很清楚的看到三種情況的不同。無倫執(zhí)行時間和內存占用,變量主動釋放都比不被動釋放的好。

第五步:

接著第三步的代碼,把
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:


結果:可以看出主動釋放比被動的所需要的時間要少(波峰尖)

實驗結論:

主動來釋放內存是有作用的,不是某些人所說的要等頁面結束才能釋放掉,或者只是呆等程序結束再自動釋放,而是在執(zhí)行過程中也可以人為控制的。特別是程序中需要調用到幾個大體積的變量時,盡快釋放掉已無用的變量,不但可以減輕服務器的負擔,也可以加快程序的運行。

如果發(fā)現(xiàn)此實驗過程或結論有誤,歡迎指正。

最后,關于用"",empty 或 null 來釋放,結果基本是一樣,有興趣的可以自己親自動手比較試試。至于說用哪個來釋放變量更正規(guī)或更有效率,我無法在此實驗中判斷出來,希望知道的朋友來指教。


(出處:Viphot)

標簽:朝陽 平頂山 孝感 湖北 遼陽 四平 防城港 馬鞍山

巨人網(wǎng)絡通訊聲明:本文標題《一份ASP內存的釋放的實驗報告》,本文關鍵詞  一份,ASP,內存,的,釋放,實驗,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一份ASP內存的釋放的實驗報告》相關的同類信息!
  • 本頁收集關于一份ASP內存的釋放的實驗報告的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 密山市| 大英县| 高邮市| 桓仁| 玛多县| 永仁县| 天等县| 双辽市| 建阳市| 光泽县| 奉化市| 云和县| 台江县| 甘南县| 长白| 榆树市| 县级市| 大洼县| 凤阳县| 来凤县| 义马市| 腾冲县| 阿图什市| 鹰潭市| 马鞍山市| 江阴市| 高雄县| 曲靖市| 海口市| 蓬溪县| 阿鲁科尔沁旗| 滨州市| 讷河市| 沙田区| 昌黎县| 玛纳斯县| 定南县| 舞阳县| 绥宁县| 九龙城区| 桐乡市|