From 751467c1dfbc597c3eb68e503a42b12d7b8e33bb Mon Sep 17 00:00:00 2001 From: Melbex De Leon Date: Mon, 30 May 2022 22:53:47 +0800 Subject: [PATCH] chore[test]: add bench for scan slice --- tests/benchmark_test.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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)