44 lines
1 KiB
Go
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)
|
|
}
|
|
}
|