If you’re dealing with large amounts of data, typically, you don’t want to write
big ASCII files. You want to write things as binary file (it takes less space to do that).
In most programming language that’s easy but is there a way to write out (read) the numbers directly as binary in Julia?
Several, including plain old mmap
ing,
https://docs.julialang.org/en/v1/stdlib/Serialization/
and some others. Which one is best for you depends on your requirements. Search for past dicussions.
2 Likes
In addition, if you are dealing with some esoteric format not mentioned above, you can also simply write values directly into a file:
julia> open("foo.dat", "w") do file
write(file, 1) # write an integer
write(file, 1.0) # write a Float64
end
8
The above command produces a file with exactly 16 bytes (8 bytes for an Int64 and another 8 for a Float64):
shell> stat foo.dat
File: foo.dat
Size: 16 Blocks: 8 IO Block: 4096 regular file
Note that doing your binary output this way requires careful attention to things like endian-ness, so using an established binary format like HDF5, BSON, MsgPack, or JLD2 will likely make your life much easier in the long term.
4 Likes
Thank you