Hack the World!

プログラミングや,ネットワークに関する話題を取り扱っています.知識をつけて,優雅にお仕事するのを目指しています.

Level DB 4 Androidの現状について

Google 謹製Chrome用のKVS
ログ"特化"とのことですが、いまいちどこが特化しているのが判断がつかない。

snappy algorithm による圧縮で、圧縮率は控えめだけどValueの取り出しが早いみたい。

とりあえず、ノリでAndroidで使うためにJava APIを作ってみた。
https://github.com/gracefullife/LevelDB4Android

apkはここから落とせます。
http://bit.ly/msl96u



Skip Listでソートされたデータをサクっと取り出せるのがいいところみたい。
検索もo(log(n))になるんだっけか。


String型のKeyValueしか対応してないのが残念だけど、おかげでAPIはつくりやすい。
今のところサポートしてるのは、Put/Get/GetProperty(各オプションは未対応)

Iteratorの実装すれば、検索もできるようになる。
でも、Javaまでイテレータを返すかが悩みどころ。

WriteBatchもあるので、毎回書きこむのと速度比較もしてみたいところだ。


とりあえず、Nexus Sで100000回の書き込み性能と読み込み性能

Write:5-8秒
Read:10-13秒

キーバリューを先に作って配列においてるから、実際の性能はもっと悪化すると思う。
まぁそれでもすごいいい値な気がする。

というか、サンプルの中にはbenchもあるから、そっちも試してみたいな。

どなたか、SQLiteの性能とか書いてあるページあったら教えてください。