Can you explain your decision to not only loop over the same data set several times, but to actually read it in from the file separately for each pass?
Comment on (ichimunki) Basic design seems inefficient
Actually, I was thinking that at some point I might try to make this a little more robust, so that it could rewind and fast-forward. The purpose being to tell you how long each sub routine is, for example.