Uma das minhas funcionalidades favoritas em Go é a possibilidade de se escrever testes de benchmark. Agora na versão 1.24, essa funcionalidade ganhou uma cara nova, se tornando ainda mais fácil de ser utilizada.
Para demonstrar estas mudanças, suponha uma função que calcule o fatorial de forma recursiva e uma atráves de laços.
func FatorialRecursive(n int) int {
if n == 0 {
return 1
}
return n * FatorialRecursive(n-1)
}
func FatorialLoop(n int) int {
aux := 1
for i := 1; i <= n; i++ {
aux *= i
}
return aux
}
Anteriormente, para escrever um teste de benchmark, precisávamos informar o laço de execução do teste. Com o teste escrito, era só rodar o comando $ go test -bench .