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