まず、ファイルをコピーするとき、バッファ サイズが大きいほど、コピー プロセスが高速になることがわかっています。
次のruby スクリプトは、行ごとに書き込むために使用されます (つまり、バッファーのサイズは行の長さに依存します)。
input,output = ARGV[0], ARGV[1]
f_in = File.open input, "r"
f_out = File.open output, "w"
f_in.each {|line| f_out << line}
f_in.close
f_out.close
Ruby スクリプトVSから Linux cp コマンドへ
サイズ (300、400 MB) の 2 つのファイルをコピーしようとしましたが、上記のスクリプトはcp Linux コマンドよりもさらに高速であり、特に高速であることがわかりました。
これはどのように起こりますか?cp
は完全に最適化されていると思います。