2010年12月30日木曜日

CoreDataのsaveは遅い?

iPhoneでブログのエントリーを取得・表示するアプリを作っていて。
データの保存にはCoreDataを使ってたんだけど、これが恐ろしく遅い。

測ってみると、1件処理するのにだいたい0.05秒かかる。
100件だと5秒。500件だと25秒。1000件だと50秒。
さすがに、これだけ待たせるのはいくらなんでもまずい。

それまではひとつのループの中で挿入と保存をしてたのを、
別々のループに分けてみたら早くなった。
1件処理するのにだいたい0.01秒かからないぐらい。
前の5倍以上の早さ!かかる時間が5分の1!

早くなったのはよかったけど、理由がわからない。
どんなコマンドが呼ばれてるかとか見てみるといいのかな。
ソースとはまた後日掲載します。多分。

0 件のコメント:

コメントを投稿