完整的 benchmark 代码在 ruby-require-perf
user system total real
require(relative) 0.001705 0.003376 0.005081 ( 0.005089)
require(absolute) 0.001190 0.000009 0.001199 ( 0.001195)
require_relative 0.002576 0.000000 0.002576 ( 0.002567)
Kernel::require
在传入一个相对路径的时候比绝对路径要慢了差不多 4 ~5 倍,比 Kernel::require_relative
慢了 2 倍
想知道平时大家在写代码的时候有留意过这个问题吗?
另外这个 Kernel::require
API 性能优化的提案在今年的 GSoC Ruby 立项了,也许我们最后能在 ko1 的帮助下调查出来结果