This is difficult right now, because we are treating the input file as a
stream right now. So the data input is just a continuous stream of data,
which eventually reaches EOF. This streaming allows some cool features in
future: e.g. you could record your data on a low power laptop, and stream
it over the network to a powerful computer that does all the calculations.
We could write a special case when streaming for a file to get a progress
bar, this should not be too difficult.