【发布时间】:2012-06-06 06:03:02
【问题描述】:
我发现 CPU 和内存消耗使用情况的惊人差异。当我运行以下 nokogiri 脚本时,似乎没有进行垃圾收集
require 'rubygems'
require 'nokogiri'
require 'open-uri'
def getHeader()
doz = Nokogiri::HTML(open('http://losangeles.craigslist.org/wst/reb/1484772751.html'))
puts doz.xpath("html[1]\/body[1]\/h2[1]")
end
(1..10000).each do |a|
getHeader()
end
在 Jruby 中运行时,CPU 消耗超过 10,内存消耗百分比随时间上升(从 2 到 20),直到最终显示“内存不足”
在 Ruby 中运行时,CPU 消耗永远不会超过 2,内存消耗 % 恒定为 0.2!
为什么会有这么大的差异,为什么内存消耗会稳步增加直到崩溃。
在 Ruby 中运行它,CPU 使用率要低得多,并且内存消耗持续非常低
【问题讨论】:
-
我希望你能访问自己的服务器,而不是仅仅为了测试而 DOSing 别人的服务器
-
同上。这也违反了使用条款。
标签: ruby memory jruby nokogiri benchmarking