diff --git a/tests/benchmark_test.go b/tests/benchmark_test.go index b35d52a2..c74721ad 100644 --- a/tests/benchmark_test.go +++ b/tests/benchmark_test.go @@ -1,6 +1,7 @@ package tests_test import ( + "fmt" "testing" . "gorm.io/gorm/utils/tests" @@ -25,7 +26,7 @@ func BenchmarkFind(b *testing.B) { } func BenchmarkScan(b *testing.B) { - user := *GetUser("find", Config{}) + user := *GetUser("scan", Config{}) DB.Create(&user) var u User @@ -34,6 +35,18 @@ func BenchmarkScan(b *testing.B) { } } +func BenchmarkScanSlice(b *testing.B) { + for i := 0; i < 10_000; i++ { + user := *GetUser(fmt.Sprintf("scan-%d", i), Config{}) + DB.Create(&user) + } + + var u []User + for x := 0; x < b.N; x++ { + DB.Raw("select * from users").Scan(&u) + } +} + func BenchmarkUpdate(b *testing.B) { user := *GetUser("find", Config{}) DB.Create(&user)