ruby-on-rails - 如果我创建一个 ruby​​ 对象会消耗多少内存?

标签 ruby-on-rails ruby memory-management

  • 我想知道如果我创建一个 ruby​​ 对象会消耗多少内存。 Ruby 有什么方法可以告诉吗?
  • 下面的内存消耗有什么不同吗?

    users = User.where("created_at > ?", 2.months.ago)  # select all fields
    users = User.select(:user_name).where("created_at > ?", 2.months.ago) # just select one field
    

最佳答案

你可以使用 ruby-prof ,一个很棒的 ruby​​ 分析器,它会告诉你你的代码正在做什么,包括内存分配。用法非常简单:

require 'ruby-prof'

# Profile the code
result = RubyProf.profile do
  ...
  [code to profile]
  ...
end

# Print a flat profile to text
printer = RubyProf::FlatPrinter.new(result)
printer.print(STDOUT)

它可以输出结果为text , text graph , html graph , call stackmore .在自述文件中还有关于 profiling rails 的部分应用程序。安装是即时的,所以试试吧:

gem install ruby-prof

关于ruby-on-rails - 如果我创建一个 ruby​​ 对象会消耗多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25470187/

相关文章:

iphone - 释放 Controller 时清理挂起的 NSURLConnections

ruby-on-rails - 获取 “Gem::LoadError: can' t 激活 jwt (~> 0.1.4),已经激活 jwt-1.0.0。”

ruby-on-rails - 无法使用 jRuby 安装 rails

c - C程序内存泄漏,看不到在哪里释放内存

Ruby 单元测试 - 访问测试结果(成功/失败)?

ruby-on-rails - 在Rails中未定义的局部变量或方法 `welcome_goodbye_path'?

c++ - 是否可以在其范围之外访问局部变量的内存?

javascript - 使用 Angular JS 通过 Rails Paperclip 提交文件

ruby-on-rails - 搜索分数时,这是正确的 Rails 查询吗?

ruby-on-rails - 将 Rails 3.0.3 更新到 3.0.5