Matz 说 autoload will be dead.
但是我看到现在很多开源项目都还在使用 autoload , 例如:
等等....
Matz 说 autoload 不推荐使用了,大家还在这么欢乐的使用 autoload 这是为什么呢?
老版本 ruby 的 require 有点慢,文件搞得多就会慢,用 autoload 就可以减少 require 调用的次数 (完全没用到的部分就不 require)
现在已经没必要了...
老版本 ruby 的 require 有点慢, 文件搞得多就会慢, 用 autoload 就可以减少 require 调用的次数 (完全没用到的部分就不 require)
话说也许这就是原因?还有不少系统跑在老的 ruby 上?需要向后兼容什么的?
autoload 主要就是个懒加载功能呗,其实 Rails 中懒加载到处都有,autoload 只是其中的一种方法而已,不用不代表就不使用懒加载了。 我觉得 Matz 可能只是觉得 autoload 不适合小型 Ruby 脚本,肯定速度慢,又不适合在并行情况下执行,就不推荐了吧。
Thanks all
了解了,因为在网络上搜索不到太多近期关于 autoload 的内容,但又看到很多开源项目中一直在用这个东西,所以就产生疑惑了。
无论是小项目推荐不是用 autoload 还是还是大项目使用 autoload 猜测文件懒加载的性能问题应该是那时候使用 autoload 的主要原因,现在发展到 ruby 2.0 , require 性能也已经提升了, 而 autoload 最后反正也是调用 Kernel::require 所以修改与不修改,现在这阶段还真不是问题了。
@blacktulip 其实我真感觉除了一些特殊情况下一定需要 autoload 的懒加载,其他情况使用 require 代替 autoload 也没问题了呀