如何在Ruby中分析`require`语句?

问题描述 投票:0回答:1

我有兴趣了解我的Ruby代码中每个require语句加载需要多长时间(以秒为单位)。如何临时重写该方法并打印出一些日志信息以减少负载?

ruby require
1个回答
0
投票

您可以这样覆盖Kernel.require

module Kernel
  # make an alias of the original require
  alias_method :original_require, :require

  # rewrite require
  def require name
    start = Time.now

    # code to time
    ret = original_require name

    finish = Time.now
    diff = finish - start

    # TODO: This should really add up all of
    # the require calls for a certain module
    if diff > 0.1
      puts "#{diff} #{name}"
    end
    ret
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.