首先,我知道在复制文件时,如果缓冲区大小更大,则复制过程会更快。
以下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 Script VS to Linux cp 命令
我尝试复制两个大小(300、400 MB)的文件,发现上面的脚本甚至比cp Linux 命令还要快,尤其快。
这怎么可能发生?我想这cp
是完全优化的!