couch_btree と dets の速度比較

Process Dictionary、dict、ets、gb_trees の速度比較 と同様に、単純なキー・値のペアを保持する場合限定の話。

$ erl
1> couchdb_btree_vs_dets:test().
--<dets>--
set:3750(4563)ms
get:1310(1618)ms
--<CouchDB B-Tree>--
set:380(456)ms
get:440(493)ms
ok 

検証コードはこちら
ちょっと、couch_btree に有利な書き方してます。
突っ込み大歓迎。

検証コードを修正した

1> couchdb_btree_vs_dets:test(10000).
―<dets>set:3450(4419)ms
get:1270(1646)ms<CouchDB B-Tree(case1)>set:240(314)ms
get:500(585)ms<CouchDB B-Tree(case2)>set:29720(59414)ms
get:10390(13231)ms<CouchDB B-Tree(case3)>set:29050(50909)ms
get:430(455)ms<CouchDB B-Tree(case4)>set:220(312)ms
get:10880(13718)ms
ケース番号 内容 作成されるファイルサイズ
1 保存、取得 共に一括で行う 27,341 byte
2 保存、取得 共に一件づつ行う 7,242,417 byte
3 保存を一件づつ行う 7,242,417 byte
4 取得を一件づつ行う 27,341 byte

dets で作成されるファイルのサイズは 685,772 byte