我有一大批需要处理的文本文件,目前由于使用了
我考虑将我的数据(管道分隔的文本文件)加载并写入二进制格式。据我所见,Julia应该能够更快地加载我的数据。问题在于,在将其写成二进制格式后,我无法正确地将我的二进制数据加载回Julia中。
这里是一些示例代码,用于加载、解析和写入二进制:
问题在于当我将上述文件加载到Julia中时,我不知道这些值是什么:
pmap()
,性能已经相当不错,但我正在寻求额外的加速。当前的瓶颈是将字符串解析为浮点数。我考虑将我的数据(管道分隔的文本文件)加载并写入二进制格式。据我所见,Julia应该能够更快地加载我的数据。问题在于,在将其写成二进制格式后,我无法正确地将我的二进制数据加载回Julia中。
这里是一些示例代码,用于加载、解析和写入二进制:
input_file = "/cool/input/file.dat" ## -- pipe delimited text file of Floats
output_file = "/cool/input/data_binary"
open(input_file, "r") do in_file
open(output_file, "w") do out_file
for line in eachline(in_file)
split_line = split(line, '|')
out_float = parse(Float64, split_line[4])
write(out_file, out_float)
end
end
end
问题在于当我将上述文件加载到Julia中时,我不知道这些值是什么:
read(output_file)
n-element Array{UInt8,1}:
0x00
0x00
0x00
0x00
0x00
0x80
0x16
我该如何在Julia代码中将这些二进制值作为浮点数使用?更普遍地说,如果我正在寻求提高性能,是否有意义将我的文本文件数据以这种方式转换为二进制?