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の性能とか書いてあるページあったら教えてください。