【发布时间】:2013-11-07 23:15:40
【问题描述】:
我正在使用 Nokogiri/Ruby 解析一个非常大的 XML 文档(约 300k 行)。处理每条记录大约需要五分钟,我确定下面代码中的最后一行占用了 99% 的时间。关于如何加快搜索速度的任何建议?这可能是系统内存(或缺乏)的问题吗?
doc = Nokogiri::XML(File.read(ARGV[0]))
orders = doc.xpath("//order")
order = orders.xpath("//order[account_number=#{sap_account}]")
【问题讨论】:
-
您的两个 xpath 搜索是多余的,因为它们都搜索整个文档。如果没有示例 XML,就不可能弄清楚您真正想要什么。尝试使用来自根目录的完整路径而不是
//的单个 XPath。