我有一个应用程序会对db进行大量调用并花费大量时间。
我的目标是对db进行一次调用,并将对象保留在内存中,以便使其更快。
保留这些对象应该不是问题,因为我在我的应用程序中实现了分页。
在任何情况下,我如何衡量我记忆中的物体的“重量”?所以我知道我的应用程序不会在heroku上崩溃
修改
我无法从这个链接中找出结果:
http://www.ruby-doc.org/core-1.9.3/GC/Profiler.html#method-c-result
以下是我的结果:
GC 339 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC Time(ms)
1 17.152 7027800 12285000 614250 51.99999999999900524017
如果有人可以帮我解释或告诉我他们是如何做到的。那太棒了
答案 0 :(得分:0)
您可以使用GC::Profiler
来实现此目的。这将允许您在代码的一部分中分析内存使用情况和垃圾收集器活动。你只需:
GC::Profiler.enable
# code you want to profile
puts GC::Profiler.result
GC::Profiler.disable
请参阅GC::Profiler.result
的文档条目,了解打印的内容。