veza/veza-backend-api/internal/benchmarks/example_test.go
2025-12-03 20:29:37 +01:00

44 lines
1 KiB
Go

package benchmarks
import (
"testing"
"veza-backend-api/internal/testutils"
)
// BenchmarkDatabaseQuery benchmark pour une requête de base de données (T0044)
func BenchmarkDatabaseQuery(b *testing.B) {
db := testutils.SetupBenchmarkDB(b)
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
// Exemple de requête
var count int64
db.GormDB.Raw("SELECT COUNT(*) FROM users").Scan(&count)
}
})
}
// BenchmarkDatabaseQuerySequential benchmark séquentiel pour comparaison (T0044)
func BenchmarkDatabaseQuerySequential(b *testing.B) {
db := testutils.SetupBenchmarkDB(b)
b.ResetTimer()
for i := 0; i < b.N; i++ {
// Exemple de requête séquentielle
var count int64
db.GormDB.Raw("SELECT COUNT(*) FROM users").Scan(&count)
}
}
// BenchmarkSimpleQuery exemple de benchmark simple (T0044)
func BenchmarkSimpleQuery(b *testing.B) {
db := testutils.SetupBenchmarkDB(b)
b.ResetTimer()
for i := 0; i < b.N; i++ {
var count int64
db.GormDB.Raw("SELECT COUNT(*) FROM users").Scan(&count)
}
}