Skip to content

suyanlong/dbcompare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dbcompare

level db, bolt db, badger db and bunt db benchmark compare

cd benchmark

first run: go test -bench .

goos: linux
goarch: amd64
pkg: github.com/suyanlong/dbcompare/benchmark
BenchmarkLevelDbSet-4                 20         109431183 ns/op
BenchmarkBoltSet-4                    10         172565745 ns/op
BenchmarkBadgerSet-4                  30          73219897 ns/op
BenchmarkGoLevelDbSet-4               30         100224908 ns/op
BenchmarkBuntDbSet-4                  30          37309376 ns/op
BenchmarkLevelDbGet-4              50000             21898 ns/op
BenchmarkBoltGet-4                   500           2474387 ns/op
BenchmarkBadgerGet-4              500000              2981 ns/op
BenchmarkGoLevelDbGet-4           300000              5632 ns/op
BenchmarkBuntDbGet-4             1000000              2944 ns/op
PASS
ok      github.com/suyanlong/dbcompare/benchmark        35.536s

two run: go test -bench . -v
goos: linux
goarch: amd64
pkg: github.com/suyanlong/dbcompare/benchmark
BenchmarkLevelDbSet-4                 20         374127785 ns/op
BenchmarkBoltSet-4                    10         140051018 ns/op
BenchmarkBadgerSet-4                  20          68027663 ns/op
BenchmarkGoLevelDbSet-4               30         170119310 ns/op
BenchmarkBuntDbSet-4                  30          66782111 ns/op
BenchmarkLevelDbGet-4             100000             22287 ns/op
BenchmarkBoltGet-4                   500           2496795 ns/op
BenchmarkBadgerGet-4              500000              2282 ns/op
BenchmarkGoLevelDbGet-4           300000              5323 ns/op
BenchmarkBuntDbGet-4              500000              3649 ns/op
PASS
ok      github.com/suyanlong/dbcompare/benchmark        52.046s

three run: go test -bench . -v

goos: linux
goarch: amd64
pkg: github.com/suyanlong/dbcompare/benchmark
BenchmarkLevelDbSet-4                 20         607825638 ns/op
BenchmarkBoltSet-4                     5         205219111 ns/op
BenchmarkBadgerSet-4                  30          72856209 ns/op
BenchmarkGoLevelDbSet-4               30         300955982 ns/op
BenchmarkBuntDbSet-4                  20          50155096 ns/op
BenchmarkLevelDbGet-4             100000             20660 ns/op
BenchmarkBoltGet-4                   500           2834335 ns/op
BenchmarkBadgerGet-4             1000000              2350 ns/op
BenchmarkGoLevelDbGet-4           300000              5599 ns/op
BenchmarkBuntDbGet-4              500000              3697 ns/op
PASS
ok      github.com/suyanlong/dbcompare/benchmark        69.769s
固态SSD

go run main.go

benchmark begin

benchmarkBadgerSet cast time:  37.021794095s
benchmarkBoltSet cast time:  1m20.12233871s
benchmarkGoLevelDbSet cast time:  1m26.119174521s
benchmarkLevelDbSet cast time:  1m24.257447006s
benchmarkBadgerGet cast time:  17.894939ms
benchmarkBoltGet cast time:  17.918811ms
benchmarkGoLevelDbGet cast time:  38.801512ms
benchmarkLevelDbGet cast time:  22.903695ms

benchmark end!

------------------------------------------------------------------------
普通机械硬盘

benchmark begin
benchmarkBadgerSet cast time:  8m18.04950085s
benchmarkBoltSet cast time:  14m45.598502581s
benchmarkGoLevelDbSet cast time:  8m21.642394108s
benchmarkLevelDbSet cast time:  8m26.888921908s
benchmarkBadgerGet cast time:  37.469583ms
benchmarkBoltGet cast time:  24.423392ms
benchmarkGoLevelDbGet cast time:  78.883051ms
benchmarkLevelDbGet cast time:  13.867441ms
benchmark end!