gpt4 book ai didi

ruby - 将数据写入文件的最有效方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:47 28 4
gpt4 key购买 nike

我想将2TB的数据写入一个文件, future 可能是PB。

数据由全'1'组成。例如2TB的数据由"1111111111111......11111"组成(每个字节用'1'表示)

以下是我的方法:

File.open("data",File::RDWR||File::CREAT) do |file|
2*1024*1024*1024*1024.times do
file.write('1')
end
end

也就是说,File.write 被调用了 2TB 次。从Ruby的角度,有没有更好的实现方式?

最佳答案

你有几个问题:

  1. File::RDWR||File::CREAT 始终计算为 File::RDWR。你的意思是 File::RDWR|File::CREAT(| 而不是 ||)。

  2. 2*1024*1024*1024*1024.times do 运行循环 1024 次,然后将循环的结果乘以左边的内容。你是说 (2*1024*1024*1024*1024).times do

关于你的问题,我通过一次写入 1024 字节得到显着加速:

File.open("data",File::RDWR|File::CREAT) do |file|
buf = "1" * 1024
(2*1024*1024*1024).times do
file.write(buf)
end
end

您可能会尝试并找到比 1024 更好的缓冲区大小。

关于ruby - 将数据写入文件的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872906/

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