Windows下的leveldb

leveldb是Google开发的一款Key/Value数据库,特点是轻量,高效。采用标准C++开发,跨平台只要实现相应接口即可,但其默认并没有提供Windows接口,Chromium接口依赖项又太多。。于是我自己实现了一个简单的Win32接口,基本功能是实现了。。。db_bench通过了,db_test.MultiThreaded和db_test.Randomized没过....
以下是Windows平台下的db_bench结果,我没有raid,没有ssd,cpu也是普通的双核,所以性能参数惨了点。

LevelDB:    version 1.2
Keys:       16 bytes each
Values:     100 bytes each (50 bytes after compression)
Entries:    1000000
RawSize:    110.6 MB (estimated)
FileSize:   62.9 MB (estimated)
------------------------------------------------
fillseq      :       3.947 micros/op;   28.0 MB/s
fillsync     :     343.000 micros/op;    0.3 MB/s (1000 ops)
fillrandom   :      15.678 micros/op;    7.1 MB/s
overwrite    :      18.877 micros/op;    5.9 MB/s
readrandom   :      30.779 micros/op;
readrandom   :      20.467 micros/op;
readseq      :       0.741 micros/op;  149.3 MB/s
readreverse  :       1.162 micros/op;   95.2 MB/s
compact      : 2917000.000 micros/op;
readrandom   :      42.775 micros/op;
readseq      :       0.668 micros/op;  165.5 MB/s
readreverse  :       1.112 micros/op;   99.5 MB/s
fill100K     :    7269.000 micros/op;   13.1 MB/s (1000 ops)
crc32c       :       6.094 micros/op;  641.0 MB/s (4K per op)
snappycomp   :      20.828 micros/op;  187.5 MB/s (output: 55.1%)
snappyuncomp :       3.098 micros/op; 1261.1 MB/s
acquireload  :       8.730 micros/op; (each op is 1000 loads)

为了对比,在linux下也运行了一次db_bench。系统是ubuntu11.04,额。。。。linux系统不太会用,性能比Windows还惨。
LevelDB:    version 1.2
Date:       Sat Jul 30 16:11:19 2011
CPU:        2 * Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz
CPUCache:   3072 KB
Keys:       16 bytes each
Values:     100 bytes each (50 bytes after compression)
Entries:    1000000
RawSize:    110.6 MB (estimated)
FileSize:   62.9 MB (estimated)
WARNING: Snappy compression is not enabled
------------------------------------------------
fillseq      :      46.164 micros/op;    2.4 MB/s     
fillsync     :   36561.474 micros/op;    0.0 MB/s (1000 ops)
fillrandom   :      53.223 micros/op;    2.1 MB/s     
overwrite    :      59.198 micros/op;    1.9 MB/s     
readrandom   :     146.295 micros/op;                 
readrandom   :     140.693 micros/op;                 
readseq      :       2.069 micros/op;   53.5 MB/s    
readreverse  :       2.616 micros/op;   42.3 MB/s    
compact      : 7378158.808 micros/op;
readrandom   :     133.769 micros/op;                 
readseq      :       1.810 micros/op;   61.1 MB/s    
readreverse  :       2.265 micros/op;   48.8 MB/s    
fill100K     :    9020.454 micros/op;   10.6 MB/s (1000 ops)
crc32c       :       5.266 micros/op;  741.8 MB/s (4K per op)
snappycomp   :       3.099 micros/op; (snappy failure)
snappyuncomp :       9.060 micros/op; (snappy failure)
acquireload  :       0.511 micros/op; (each op is 1000 loads)

我把项目传到Google上了http://code.google.com/p/leveldbwin/

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值