ker*_*lin 25 ruby garbage-collection
你什么时候在Ruby程序中使用这个垃圾收集方法?
GC.start
Run Code Online (Sandbox Code Playgroud)
tad*_*man 22
有时候需要开始它,但通常它本身工作正常.我有一种情况,如果不加以控制,应用程序将咀嚼1GB内存,深入交换,GC.start间歇性触发会将其削减至100MB.
问题是调用这种方法非常昂贵,如果积极使用,可能会大大降低应用程序的速度.
Nat*_*ong 17
我正在对一些创建大量对象的代码进行基准测试,我注意到我的基准测试差异很大.我确定尖峰来自我的基准测试期间运行的垃圾收集.
手动控制过程为我提供了更一致的基准.
def without_gc
GC.start # start out clean
GC.disable
yield
GC.enable
end
without_gc do
Benchmark.measure { some_code }
end
Run Code Online (Sandbox Code Playgroud)
也就是说,GC.start如果反复运行,会导致显着的减速.
| 归档时间: |
|
| 查看次数: |
12998 次 |
| 最近记录: |