package meta import ( "testing" "github.com/nspcc-dev/neofs-api-go/pkg/object" "github.com/stretchr/testify/require" ) func BenchmarkDB_Get(b *testing.B) { db := newDB(b) defer releaseDB(db) var existingAddr *object.Address for i := 0; i < 10; i++ { obj := generateObject(b, testPrm{}) existingAddr = obj.Address() require.NoError(b, db.Put(obj)) } b.Run("existing address", func(b *testing.B) { b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { _, err := db.Get(existingAddr) b.StopTimer() require.NoError(b, err) b.StartTimer() } }) b.Run("non-existing address", func(b *testing.B) { b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { b.StopTimer() addr := object.NewAddress() addr.SetContainerID(testCID()) addr.SetObjectID(testOID()) b.StartTimer() _, err := db.Get(addr) b.StopTimer() require.Error(b, err) b.StartTimer() } }) }