我试图找出 ruby 脚本的瓶颈在哪里。我怀疑它可能会发生,因为脚本解析了数千行,并且对于每一行,它都会检查磁盘中是否存在某个文件并最终读取其内容。
def sectionsearch(brand, season, video)
mytab.trs.each_with_index do |row, i|
# ...some code goes here...
f = "modeldesc/" + brand.downcase + "/" + modelcode + ".html"
if File.exist?(f)
modeldesc = File.read(f)
else
modeldesc = ""
end
# ...more code here...
end
end
鉴于数千条记录不超过 30 个不同的“模型代码”文件,我正在寻找一种不同的方法,在每个循环之前读取文件夹的所有内容(因为它在执行期间不会改变)。
这种方法会加快我的脚本速度吗,这也是实现它的正确方法吗?