【发布时间】:2013-12-22 15:25:03
【问题描述】:
给定以下脚本:
require 'rubygems'
require 'open-uri'
require 'benchmark'
response = open('http://gdata.youtube.com/feeds/api/videos?q=skateboarding+dog')
outside = Benchmark.measure do
response_body = response.read
10000.times do
response_body.scan(/dog/)
end
end
inside = Benchmark.measure do
10000.times do
response.read.scan(/dog/)
end
end
puts [outside, inside].map(&:utime).inspect
我得到以下结果:
[1.25, 0.06000000000000005]
为什么每次读取文件的性能都会提高大约 20 倍?
如果我的系统信息很重要:
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
【问题讨论】:
标签: ruby string performance io