And*_*imm 6 ruby optimization garbage-collection yarv
是否有任何GC.disable可能降低性能的情况?只要我使用真正的RAM而不是交换内存,它可以吗?
我正在使用MRI Ruby 2.0,据我所知,它是64位,使用64位Ubuntu:
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
Linux [redacted] 3.2.0-43-generic #68-Ubuntu SMP Wed May 15 03:33:33 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
GC.disable 将禁用垃圾收集。像 ruby 这样的语言无法在没有垃圾回收的情况下释放内存,因为与 C 不同,您不会手动调用内存释放器。
所以是的,性能将会受到影响。最终你会耗尽内存,因为像字符串这样的对象会不断被创建并且永远不会被清理。您甚至可能不负责,因为您使用的 API 的内部机制可能会生成对象。
不幸的是,如果没有更好地理解这个问题,这就是我能提供的最好的。