🔙 Regresar

Ejemplo simple de profiling benchmark:

La creación de perfiles de benchmarks ayuda a identificar áreas de optimización, ya sea para mejorar el rendimiento de la CPU o reducir el consumo de memoria. Es importante destacar que los benchmarks y los perfiles son más efectivos cuando se utilizan iterativamente durante el proceso de desarrollo para supervisar y mejorar el rendimiento del código.

Código de ejemplo

package main

import (

"crypto/rand"

"crypto/sha256"

"testing"

)

func MyFunction() []byte {

data := make([]byte, 1024)

rand.Read(data)

return sha256.Sum256(data)[:]

}

func BenchmarkMyFunction(b *testing.B) {

for i := 0; i < b.N; i++ {

MyFunction()

}

}

Ejecutar benchmark

go test -bench

Perfilar uso de CPU

go test -bench . -cpuprofile cpu.prof

go tool pprof cpu.prof

Perfilar uso de memoria

go test -bench . -memprofile mem.prof

go tool pprof mem.prof