【发布时间】:2019-08-17 10:48:18
【问题描述】:
当我问这个问题时,我特别想到了 ruby,但如果答案与语言无关,我也想知道。
我经常require来自ruby标准库,即fileutils、open3和pathname。
但如果我只需要在一两行代码中使用它们的功能,我会避开它们并选择(有时可读性较差)不需要require 的替代方案。
但是,使用它们似乎不会影响我的脚本的性能,即使使用快速基准测试(使用 time),如果我使用不同的方法,运行速度似乎也是一样的。但对我来说这似乎很奇怪,这没有什么区别,因为为什么要让它们成为required 以供使用(而不是直接包括在内)?所以,具体问题:
- 从标准库导入是否会使脚本变慢?
- 如果是这样,它是否总是可以忽略不计,还是取决于软件包?
- 第三方包呢?它们的导入速度是否比标准库中的慢?
【问题讨论】:
-
据我所知,Ruby 不会延迟加载库,因此肯定会有一些开销。关于标准库,我认为 Ruby 将它们作为 dylibs 提供(尽管这是一个猜测),所以开销很小。
标签: ruby import require standard-library