Ant*_*zzo 6 ruby performance ruby-on-rails require
我觉得我理解require和require_dependency之间的区别(来自Rails中的How are require,require_dependency和constants reloading?).
但是,我想知道如果我使用其中的一些方法会发生什么(请参阅http://hemju.com/2010/09/22/rails-3-quicktip-autoload-lib-directory-including-all -subdirectories /和从Rails 3中的lib文件夹加载模块/类的最佳方法?)来加载所有文件,所以我们:
看起来开发性能会受到轻微影响,这对我来说并不是什么大不了的事.如何在生产环境中影响性能?如果您还在生产中,那么所有文件通常只会加载一次吗?有没有更好的方式,我没有看到?
如果您可以包含一些我可以阅读更多相关信息的资源,我们将不胜感激.一些博客帖子说最近这种行为改变了,Rails 3用于自动加载lib/*文件,这是有争议的,但我没有看到任何链接到这些讨论.考虑利弊是有帮助的.谢谢!
默认情况下,代码重新加载器在生产中处于禁用状态。因此,如果您在文件顶部调用 require_dependency ,它将仅执行一次。
你提到的 Rails 3 的变化确实很小。您通常可以调用它Foo,它会自动加载app/models/foo.rb。之前它也可以从 加载lib/foo.rb。(这些目录称为app/models自动加载路径。)Rails 团队决定在第三版中从自动加载路径中删除 lib。你仍然可以把它放回去。但鼓励在 lib 中保留不经常更改的文件和特定于项目的文件。如果您有不属于任何默认应用程序子目录(例如 app/models 或 app/controllers)的内容,则不必将其放入 lib 中。您可以添加自己的子目录。例如,我有。如果您想了解更多信息,可以对旧问题跟踪器进行讨论。libapp/presenters
| 归档时间: |
|
| 查看次数: |
1033 次 |
| 最近记录: |