Benchmark: prueba que mide la performance de tu código.
- Ejecuta tu código una X cantidad de veces en un ciclo; como resultado, te avisa que tan rápido fueron todas las ejecuciones realizadas.
¿Por qué evaluar la performance? Para saber si nuestras implementaciones en código necesitan ser optimizadas o modificadas.
Esto se hace evaluando la performance antes y después de la modificación de código, y puede ser automatizado en un ciclo de CI/CD.
Ejercicio de la clase:
/** FileName: parser_test.go */
/*
*testing.B de Benchmark
El nombre de la función inicia con "Benchmark"
*/
func BenchmarkParser(b *testing.B) {
c := require.New(b)
body, err := ioutil.ReadFile("samples/pokeapi_response.json")
c.NoError(err)
var response models.PokeApiPokemonResponse
err = json.Unmarshal([]byte(body), &response)
c.NoError(err)
// Ciclo de Benchmark
for n := 0; n < b.N; n++ {
_, err := ParsePokemon(response)
c.NoError(err)
}
}
Se ejecuta con el comando:
# Consola
go test ./util -run=Parser -bench= >bench.old
## Nota: -run=Parser hace referencia a BenchmarkParser()
## Nota: -bench=(espacio)>bench.old --> El espacio es obligatorio
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?