@@ -77,7 +77,7 @@ sdb, err := NewShardingDb(Sha256Sharding, db1, db2)
7777
7878generate data by command:
7979` ` ` bash
80- go test -run " TestCompareDbPerformance"
80+ go test -timeout 60m - run " TestCompareDbPerformance"
8181` ` `
8282Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs per batch.
8383
@@ -89,7 +89,7 @@ Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs p
8989| 200B | 4.45s | 1.07s | 0.683s | 1.9s |
9090| 500B | 15.3s | 3.36s | 1.49s | 6.4s |
9191| 1KB | 48.9s | 9.42s | 3.74s | 17.69s |
92- | 10KB | 1117s | 351s | 123s | 0.0016s |
92+ | 10KB | 1117s | 351s | 123s | 308s |
9393
9494# ## 2. GetData
9595
@@ -99,7 +99,7 @@ Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs p
9999| 200B | 3.09s | 1.42s | 1.27s | 2.24s |
100100| 500B | 4.17s | 1.91s | 1.62s | 3.73s |
101101| 1KB | 7.97s | 2.37s | 2.26s | 4.53s |
102- | 10KB | 12.75s | 9.54s | 11.03s | 0.0016s |
102+ | 10KB | 12.75s | 9.54s | 11.03s | 13.85s |
103103
104104# ## 3. GetData not found
105105
@@ -109,7 +109,7 @@ Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs p
109109| 200B | 2.07s | 1.47s | 0.9s | 1.6s |
110110| 500B | 2.05s | 1.51s | 0.93s | 1.81s |
111111| 1KB | 2.35s | 1.64s | 0.891s | 2.28s |
112- | 10KB | 8.68s | 5.56s | 2.48s | 0.0016s |
112+ | 10KB | 8.68s | 5.56s | 2.48s | 7.75s |
113113
114114
115115# ## 4. DeleteData
@@ -120,7 +120,7 @@ Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs p
120120| 200B | 3.81s | 1.71s | 1.02s | 1.74s |
121121| 500B | 3.85s | 1.76s | 1.05s | 1.69s |
122122| 1KB | 3.84s | 1.72s | 1.04s | 1.74s |
123- | 10KB | 3.844s | 1.78s | 1.06s | 0.0016s |
123+ | 10KB | 3.844s | 1.78s | 1.06s | 1.76s |
124124
125125# ## 5. Iterator
126126
@@ -130,8 +130,27 @@ Test case: total 1000000 key-value pairs, 100 go routines, 100 key-value pairs p
130130| 200B | 0.151s | 0.246s | 0.246s | 0.191s |
131131| 500B | 0.282s | 0.351s | 0.41s | 0.344s |
132132| 1KB | 0.514s | 0.419s | 0.472s | 0.541s |
133- | 10KB | 2.46s | 2.39s | 1.96s | 0.0016s |
134-
133+ | 10KB | 2.46s | 2.39s | 1.96s | 2.3s |
134+
135+
136+ # ## 6. Sharding count compare
137+
138+ # ### 6.1 PutData
139+ | Data Size | ShardingDB(3 folders) | ShardingDB(6 folders) | ShardingDB(9 folders) | ShardingDB(30 folders) | ShardingDB(60 folders) |
140+ | :---------:| :---------------------:| :---------------------:| :---------------------:| :----------------------:| :-----------------------:|
141+ | 100B | 0.659s | 0.581s | | | |
142+ | 200B | 1.07s | 0.683s | | | |
143+ | 500B | 3.36s | 1.49s | | | |
144+ | 1KB | 9.42s | 3.74s | | | |
145+ | 10KB | 351s | 123s | | | |
146+ # ### 6.2 GetData
147+ | Data Size | ShardingDB(3 folders) | ShardingDB(6 folders) | ShardingDB(9 folders) | ShardingDB(30 folders) | ShardingDB(60 folders) |
148+ | :---------:| :---------------------:| :---------------------:| :---------------------:| :----------------------:| :----------------------:|
149+ | 100B | 1.25s | 1.02s | | | |
150+ | 200B | 1.42s | 1.27s | | | |
151+ | 500B | 1.91s | 1.62s | | | |
152+ | 1KB | 2.37s | 2.26s | | | |
153+ | 10KB | 9.54s | 11.03s | | | |
135154
136155
137156Most interfaces are the same as [goleveldb](https://github.com/syndtr/goleveldb). For my interface definition, please refer to [DbHandle](https://github.com/studyzy/shardingdb/blob/main/interfaces.go).
0 commit comments