Ruby on rails 在Rails 3应用程序中使用require_依赖关系对性能有什么影响?

Ruby on rails 在Rails 3应用程序中使用require_依赖关系对性能有什么影响?,ruby-on-rails,ruby,performance,require,Ruby On Rails,Ruby,Performance,Require,我觉得我理解了require和require_依赖(from)之间的区别 但是,我想知道如果我使用一些不同的方法(参见和)加载所有文件,会发生什么情况,因此我们: 不需要在应用程序中到处使用require_依赖项 当lib目录中的文件更改时,不必重新启动开发服务器 开发性能似乎会受到轻微影响,这对我来说没什么大不了的。在生产环境中,性能会受到怎样的影响?如果您仍在生产环境中,所有文件通常只加载一次吗?有没有更好的方法,我没有看到 如果您能提供一些资源,让我可以阅读更多关于这方面的内容,我将不胜感

我觉得我理解了require和require_依赖(from)之间的区别

但是,我想知道如果我使用一些不同的方法(参见和)加载所有文件,会发生什么情况,因此我们:

  • 不需要在应用程序中到处使用require_依赖项
  • 当lib目录中的文件更改时,不必重新启动开发服务器
  • 开发性能似乎会受到轻微影响,这对我来说没什么大不了的。在生产环境中,性能会受到怎样的影响?如果您仍在生产环境中,所有文件通常只加载一次吗?有没有更好的方法,我没有看到


    如果您能提供一些资源,让我可以阅读更多关于这方面的内容,我将不胜感激。一些博客文章说,最近Rails 3自动重新读取lib/*文件时,这种行为发生了变化,这是有争议的,但我没有看到任何与这些讨论相关的链接。这将有助于考虑利弊。谢谢

    默认情况下,在生产中禁用代码重新加载程序。因此,如果您在文件顶部调用require_dependency,它将只执行一次

    您提到的Rails 3变化非常小。您通常可以调用
    Foo
    ,它将从
    app/models/Foo.rb
    自动加载。在它也可以从
    lib/foo.rb
    加载之前。(这些目录
    app/models
    lib
    称为自动加载路径。)Rails团队决定在第三版中从自动加载路径中删除lib。你仍然可以把它放回去。但我们鼓励将更改频率较低的文件和特定于项目的文件留在lib中。如果您有不属于任何默认应用子目录(如app/models或app/controllers)的内容,则不必将其放入lib中。您可以添加自己的子目录。例如,我有
    应用程序/演示者
    。如果您想了解更多信息,旧问题跟踪程序上有一个