设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 3694260ac
打印 上一主题 下一主题

新人初到,写了一些小脚本,问些问题,谢谢!!!

 关闭 [复制链接]

Lv3.寻梦者

酱油的

梦石
0
星屑
1265
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

41
发表于 2008-5-17 23:34:29 | 只看该作者
都 break 了,當然會被釋放啦 Orz
另外不要問我 GC 甚麽時候跑,前幾天才討論過這個問題,結果無疾而終|||
據說(又是據說),在 do...end 之間的語句爲一個作用域...出了這個作用域以後,不再有用途的內存會被釋放...

另,以上都是禾西YY。不代表就是Ruby的內部機制......................................
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3133
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

42
发表于 2008-5-17 23:37:43 | 只看该作者
如果object有定义dispose方法最简单的办法就是把所有东西一概统统dispose
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
6 小时
注册时间
2008-5-17
帖子
29
43
 楼主| 发表于 2008-5-17 23:46:33 | 只看该作者
在break之前也能看出内存的上下变动的

原来是GC,非常感谢
做了一个试验,果然如此:

@num = 10
def aa
  k = 0
  loop do
    array = [0,1,2,3,4,5,6,7,8,9]
    k += 1
    if k%1000 == 0
      GC.start
    end
  end
end
aa



每100次GC一次,内存不再增加了!!!!!!!!!!!!!!!!!!!!
差不多就是这些原因了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1265
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

44
发表于 2008-5-18 00:02:47 | 只看该作者
你是每一千次啓動一次 GC 吧?==|||


睡覺前最後一回帖:
根據測試,GC.start 是啓動GC,至於是否釋放內存還要看寫法與rp...
Ruby 內部有一套自行判斷是否需要回收內存的機制...
(但是腳本寫法問題一樣會導致系統崩潰)
所以 GC 不是萬能,很多時候要自己注意............



近來6R多了很多强人,禾西這樣的廢柴版主被問到怕|||
好在有link , 沉影, IamI ,wy29 等等高高手在.....
我看來還是專心放假好了(茶)
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
6 小时
注册时间
2008-5-17
帖子
29
45
 楼主| 发表于 2008-5-18 00:08:57 | 只看该作者
恩,谢谢各位,这个问题就这样吧
学了不少东西,^_^
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
6 小时
注册时间
2008-5-17
帖子
29
46
 楼主| 发表于 2008-5-18 00:20:19 | 只看该作者
不会结了,怎么结啊....BZ帮个忙吧,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-29 22:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表