>>174
解決方法をレスする前に、2つ質問がある

Q1. データファイルは時系列の順にソートされているか?
=> もしソートされているなら、日付が変化した時点で集計できるから、
  処理速度が遅いのは単なるCPU/IO処理能力不足であると判断できる
  もしソートされていないのなら、
  ファイルを最後まで読み込まなければ集計処理を開始できないから、
  バッファ上に集計カウンタを設けなければならない

Q2. プログラム実行中にスワップは多発しているか?
=> もしQ1.のバッファをメモリ上に設け、かつデータの分布が大きいのなら、
  実メモリの不足によるスワップの多発が性能劣化の原因となっている可能性が高い