这更有效吗?

时间:2015-02-19 22:58:56

标签: ruby memory-efficient

我的情况不接受在内存中读取整个文件然后处理它。我有这段代码可以读取文件,而不需要将整个文件放在内存中。

def load_yaml_from_gz(gz)
  loaded = nil
  Zlib::GzipReader.open(gz) do |f|
    # patch needed as YAML wants to know encoding
    # see https://github.com/tenderlove/psych/issues/105
    class << f
      def external_encoding
        Encoding::UTF_8
      end
    end
    loaded = YAML.load(f, gz)
  end
  return loaded
end

我知道如何衡量这种设计的内存效率与读取整个文件和加载到YAML的效率有什么关系?

0 个答案:

没有答案