タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

programmingと実験に関するusadamasaのブックマーク (1)

  • 大量データを扱うときはArrayListよりHashSetを使おう - greennoahの備忘録

    最近は性能問題が徐々に収束してきました。 解決された問題のうちの1つをここで紹介したいと思います。 「あるバッチプログラムの性能要件が100万件のデータを60分で処理しないといけない」というものがあったのですが、計測してみると2.5時間で40万件弱しか処理できないという問題がありました。(このデータから100万件にかかる時間を算出すると17時間。。。) このバッチプログラム、最初の15分間は処理量が6500件だったのに、時間が経過していくとどんどん劣化し、3時間経過で800件前後となり、その後は徐々に劣化していく、かなりお粗末なプログラムでした。 メモリリークは発生していなかったので、ログを埋め込んで時間のかかっている処理を切り分けていくとDBから取得したデータをArrayListに格納し、それを存在チェックしている箇所(ArrayList#contains)がボトルネックであることが判明

    大量データを扱うときはArrayListよりHashSetを使おう - greennoahの備忘録
    usadamasa
    usadamasa 2011/06/10
    大量のデータを扱う場合にHashSetを使うと、ArrayListと比べて処理速度が相当短縮されるよという実験。
  • 1