Ruby的等价于PHP的“get_defined_vars”函数?
我已经写了一段时间循环程序在红宝石,我可以看到它使用的内存明显增长后,每个循环!Ruby的等价于PHP的“get_defined_vars”函数?
所以我对板式:
- 使用
GC.Start
在循环的结束,但它没有影响 - 更改所有内部循环变量全局,但仍然使用每个循环后抬起内存。
那么在Ruby中有没有任何等价的PHP的“get_defined_vars
”函数来查看使我用过的内存像这样增长?
Kernel.local_variables
似乎是最接近的匹配
是的,肯定是最接近的一个,但是local_variables,也不是global_variable版本可以调试这个问题,因为只有它们的一个版本被存储,所以我真的不能忽略这里的问题在哪里。我已经发布了源代码,如果你想看看它。 – cz3ch
我推荐你http://ruby-prof.rubyforge.org/。
这是一个相当详尽的工具。
根据该主页:
红宝石教授可以测量多个不同的参数,包括 呼叫次数,内存使用和对象的分配。
编辑: 好像它被更多最近更新了其github上页:https://github.com/rdp/ruby-prof
非常感谢这个工具,但我找不到错误在哪里。如果你可以看看它,我已经发布了源代码。 – cz3ch
请张贴在HTTPS代码://gist.github。 com /如果这个问题太大。 – SirDarius
对不起。张贴在它上面。 – cz3ch
'GC.stress = true'似乎是排除RAM的唯一方法,但它会减慢脚本的速度 – cz3ch