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 を超える異なる「モデルコード」ファイルがないことを考えると、各ループの前にフォルダーのすべてのコンテンツを読み取る別のアプローチを探していました (実行中に変更されないため)。
このアプローチは私のスクリプトを高速化しますか? また、これはこれを実装する正しい方法ですか?