File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff 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+
13691412func BenchmarkTxn_Get_Random (b * testing.B ) {
13701413 env , _ := setup (b )
13711414
You can’t perform that action at this time.
0 commit comments