Skip to content

Commit b1246ae

Browse files
committed
save
1 parent ac20f46 commit b1246ae

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

mdbx/txn_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,6 +1366,49 @@ func BenchmarkTxn_Get_Sequence(b *testing.B) {
13661366
}
13671367
}
13681368

1369+
func BenchmarkTxn_Put_Sequence(b *testing.B) {
1370+
env, _ := setup(b)
1371+
1372+
const N = 100
1373+
var keys [N][]byte
1374+
for i := range keys {
1375+
keys[i] = make([]byte, 4)
1376+
binary.BigEndian.PutUint32(keys[i], uint32(i))
1377+
}
1378+
1379+
var db DBI
1380+
if err := env.Update(func(txn *Txn) (err error) {
1381+
db, err = txn.OpenRoot(0)
1382+
if err != nil {
1383+
return err
1384+
}
1385+
for _, k := range keys {
1386+
err = txn.Put(db, k, k, 0)
1387+
if err != nil {
1388+
return err
1389+
}
1390+
}
1391+
return nil
1392+
}); err != nil {
1393+
b.Errorf("dbi: %v", err)
1394+
return
1395+
}
1396+
1397+
if err := env.View(func(txn *Txn) (err error) {
1398+
b.ResetTimer()
1399+
for b.Loop() {
1400+
for i := 0; i < N; i++ {
1401+
if err = txn.Put(db, keys[i], keys[i], 0); err != nil {
1402+
return err
1403+
}
1404+
}
1405+
}
1406+
return nil
1407+
}); err != nil {
1408+
b.Errorf("put: %v", err)
1409+
}
1410+
}
1411+
13691412
func BenchmarkTxn_Get_Random(b *testing.B) {
13701413
env, _ := setup(b)
13711414

0 commit comments

Comments
 (0)