Well, you can investigate resulting binary and assembler. Try to count numbers 
in first 4 files (you don't store the 5th into the the variable in your 
example) (their textual contents is not stored, just the numbers) and multiply 
it by the size of processor instruction, needed to store it. For me (x86, 32bit 
exe) each such instruction takes 7 bytes in the binary, and for my test with 2K 
numbers in each file the difference in binary size is 57017 bytes, which is 
very close to expected 2K*4*7=57344, the small difference is probably because 
of padding. So, the size just matches for me.

To get the size of the instruction you can fill your test files with one and 
the same number and just look at the resulting binary in a hex editor: you'll 
see a small repeating fragment through large part of the file, you'll recognize 
it instantly.

But that it copies each number may probably be bad for very big data sets. For 
my example though it's not noticeable.

B.t.w. your example doesn't compile as is (even when data files are created), 
so may be your actual code differs from it. Say there's undeclared variable 
`length`, I assumed its `temp.len`.

Reply via email to