当启动一个有很多依赖项的 Rails 应用程序时,很多时间(我认为)花在require
ing 文件上。
假设您要创建一个部署过程,该过程将所有require
语句转换为文件连接,使用相同的规则(不要两次获取相同的文件等)。本质上,它将像资产管道处理 javascript 一样处理 Ruby。
这会产生真正的速度差异吗?它会产生任何问题 - 例如,变量范围 - 除了使错误更难追踪到其原始源文件吗?
简而言之,这是辉煌还是疯狂?
更新
正如 pst 指出的那样,这在生产中毫无意义,服务器可能会加载所有内容,然后分叉处理新请求。
但是考虑一下测试环境,每次运行测试时都会启动 Rails 应用程序。预先连接所有的 gem 可能会产生类似于 Spork gem 的效果。
我想我真正的问题是在解析文件内容上花费了多少时间require
。