Saltearse al contenido

Benchmarks

Datos históricos: Estos benchmarks fueron recopilados en mayo de 2020 usando Gin v1.6.3 y Go 1.14.2. El rendimiento de los frameworks puede haber cambiado significativamente desde entonces. Para resultados de benchmarks actualizados, consulta el repositorio go-http-routing-benchmark.

Benchmarks de rendimiento del framework web Gin

Los benchmarks ayudan a los desarrolladores a evaluar la eficiencia y el uso de recursos de las bibliotecas de enrutamiento HTTP en Go. Esta página resume las mediciones de muchos frameworks populares, para que puedas comparar fácilmente su velocidad y consumo de memoria.

Entorno de prueba:

  • Plataforma host: Travis CI (VM Linux virtual)
  • Especificaciones de la máquina: Ubuntu 16.04.6 LTS x64
  • Fecha de prueba: 4 de mayo de 2020
  • Versión de Gin: v1.6.3
  • Versión de Go: 1.14.2 (linux/amd64)
  • Fuente de benchmarks: Go HTTP Router Benchmark
  • Resultados detallados: Ver el gist o resultado de Travis

Gin usa un fork optimizado de HttpRouter para enrutamiento de alto rendimiento.

Si deseas ver más casos de prueba, puedes consultar todos los benchmarks aquí.


Cómo leer la tabla

Los benchmarks a continuación muestran varios frameworks de Go ejecutando tareas comunes de enrutamiento HTTP. Los números más bajos (tiempo, memoria, asignaciones) son mejores. Puedes usar estos resultados para una comparación directa entre Gin y enrutadores alternativos.

PruebaRepeticionesTiempo (ns/op)Bytes (B/op)Asignaciones (allocs/op)
BenchmarkGin_GithubStatic1562947276.700
BenchmarkAce_GithubStatic1554261275.900
BenchmarkAero_GithubStatic2477715148.500
BenchmarkBear_GithubStatic27888944351203
BenchmarkBeego_GithubStatic100000010643523
BenchmarkBone_GithubStatic9350712838288060
BenchmarkChi_GithubStatic13877438604323
BenchmarkDenco_GithubStatic3938499630.400
BenchmarkEcho_GithubStatic1207638299.100
BenchmarkGin_GithubParam913203213100
BenchmarkGin_GithubAll435502736400
BenchmarkHttpRouter_GithubAll559382136000
BenchmarkEcho_GithubAll312513847900
BenchmarkGorillaMux_GithubAll34633849872516501994

Notas de la tabla de benchmarks

  • Repeticiones: Total de repeticiones logradas en tiempo constante. Números más altos significan más confianza en los resultados.
  • Tiempo (ns/op): Duración de una operación, medida en nanosegundos. Menor es mejor.
  • Bytes (B/op): Memoria heap asignada por operación. Menor significa mejor eficiencia.
  • Asignaciones (allocs/op): Número promedio de asignaciones de memoria por operación. Menos asignaciones son mejores para el rendimiento y la recolección de basura.

Para preguntas o contribuciones, consulta nuestro repositorio en GitHub.