aboutsummaryrefslogtreecommitdiff
path: root/benchmark/benchmark_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/benchmark_test.go')
-rw-r--r--benchmark/benchmark_test.go29
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)