2010年2月
« 1月   3月 »
1234567
891011121314
15161718192021
22232425262728

カテゴリー

Androidでデータの読み書きをするときに一番早いのはSQLiteを使うことだよ

結論はタイトルどおりです。

実際にコードを書いて

1.ObjectInputStream/ObjectOutputStreamを使う
2.BufferdReaderで読み込み,XmlPullParserで解析/XmlSerializerでXML化し、BufferedWriterで書き込み
3.SQLiteを使って読み込み/書き込み

で時間を測って見たところ、読み込み、書き込みともにSQLiteを使うのが一番早かったです。
特に、読み込み処理での早さは群を抜いてました。

以下、結果です。

1000バイトのテキストデータを持つオブジェクトを50件処理した時間(ms)
1 2 3 4 5 平均

writeObject 510 341 353 360 451 403

writeXML 612 504 536 523 523 539.6

writeSQLite 553 290 283 304 318 349.6

readObject 423 314 317 208 309 314.2

readXML 258 173 269 180 177 211.4

readSQLite 52 47 51 149 147 89.2








1000バイトのテキストデータを持つオブジェクトを500件処理した時間
1 2 3 4 5 平均

writeObject 3756 3726 3607 3710 3663 3692.4

writeXML 6220 5477 6202 6392 8021 6462.4

writeSQLite 1863 2720 3577 2561 2908 2725.8

readObject 2788 2574 2552 2542 2398 2570.8

readXML 2139 2092 2098 2038 2061 2085.6

readSQLite 644 583 585 576 569 591.4

テストに使用したコードは,githubにあげていますので、よろしければ見てみてください.

http://github.com/kakkyz81/SerializePerformanceCheck

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>