摘要: 本文介绍了一个针对 Ruby 应用启动时间性能问题的改进方案。作者指出,在 MRI Ruby 的最新版本中,由于文件加载算法的问题,导致应用启动时间显著增加。作者提供了一个补丁,通过优化加载算法来显著提升启动速度。文章提供了使用 RVM 安装补丁并测试其效果的方法,并呼吁社区对补丁进行审查和反馈,以期将其合并到即将发布的 Ruby 1.9.3 版本中。
讨论: 这段内容主要讨论了一个关于Ruby语言实现的优化问题。其中,saturn表达了对这个优化的支持,并希望它能像在HN上投票一样容易地被采纳。jpeterson指出了算法中存在的问题,并建议等待这个优化被合并到Ruby master之前可以先在自己的副本上打补丁。ddagradi对Rails堆栈的优化表示兴奋。sigil提出了关于Ruby设计决策的问题,询问为什么Ruby最初使用数组来存储已加载的模块。atambo询问了这个问题是否也存在于jruby和rubinius中。nestlequ1k对问题的解决表示赞赏,并担心这个补丁会被拒绝。jmtame提出了一个与Rails 3.1相关的问题,即本地加载图片缓慢。keyist分享了一个通过symlinking gems来提高加载时间的技巧,并指出问题根源在于rubygems和bundler将所有gem目录放入$LOAD_PATH中。Sapient报告了这个补丁引入的一个新问题。cduan提出了一种将Ruby的heap和symbol table导出到文件的方法,以便于其他Ruby实例加载使用。
原文标题:Speeding up Rails startup time
原文链接:http://rhnh.net/2011/05/28/speeding-up-rails-startup-time
讨论链接:https://news.ycombinator.com/item?id=2594668