diff options
Diffstat (limited to 'benchmark/benchmark_test.go')
| -rw-r--r-- | benchmark/benchmark_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/benchmark/benchmark_test.go b/benchmark/benchmark_test.go index 439ecaf..12f739c 100644 --- a/benchmark/benchmark_test.go +++ b/benchmark/benchmark_test.go @@ -285,6 +285,16 @@ func BenchmarkInsertAndDelete(b *testing.B) { } must.Succeed(b, store.Delete(noctx, db, records...)) } + if batchSize == 1 { + insertAndDeleteWithOblast = func(b *testing.B) { + record := OblastEntry{Message: "hello"} + must.Succeed(b, store.Insert(noctx, db, &record)) + if record.ID == 0 { + b.Errorf("ID was not filled!") + } + must.Succeed(b, store.Delete(noctx, db, record)) + } + } insertAndDeleteWithGorp := func(b *testing.B) { records := make([]any, batchSize) @@ -299,6 +309,16 @@ func BenchmarkInsertAndDelete(b *testing.B) { } _ = must.Return(gorpDB.Delete(records...))(b) } + if batchSize == 1 { + insertAndDeleteWithGorp = func(b *testing.B) { + record := GorpEntry{Message: "hello"} + must.Succeed(b, gorpDB.Insert(&record)) + if record.ID == 0 { + b.Errorf("ID was not filled!") + } + _ = must.Return(gorpDB.Delete(&record))(b) + } + } insertAndDeleteWithGorm := func(b *testing.B) { records := make([]GormEntry, batchSize) @@ -315,6 +335,15 @@ func BenchmarkInsertAndDelete(b *testing.B) { assert.ErrEqual(b, result.Error, "<success>") assert.Equal(b, result.RowsAffected, int64(batchSize)) } + if batchSize == 1 { + insertAndDeleteWithGorm = func(b *testing.B) { + record := GormEntry{Message: "hello"} + must.Succeed(b, gorm.G[GormEntry](gormDB).Create(b.Context(), &record)) + result := gormDB.Delete(&record) + assert.ErrEqual(b, result.Error, "<success>") + assert.Equal(b, result.RowsAffected, 1) + } + } insertAndDeleteWithStraightExec := func(b *testing.B) { ids := make([]int64, batchSize) |
