gpt4 book ai didi

c - 使用 ruby​​ - 反对 cp 命令复制文件的速度有多快?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:59 25 4
gpt4 key购买 nike

首先,我知道在复制文件时,如果缓冲区大小越大,复制过程就会越快。

以下 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) 的文件,发现上面的脚本甚至比 cp Linux 命令更快,速度明显更快。

这怎么会发生?我想 cp 已经完全优化了!

最佳答案

可能是磁盘缓存问题,运行试试

echo 3 >/proc/sys/vm/drop_caches

在运行基准测试之前清除缓存 :)

我的猜测是它们确实应该非常非常接近,当然 cp 应该比 ruby​​ 快开始复制几毫秒。

关于c - 使用 ruby​​ - 反对 cp 命令复制文件的速度有多快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com