Investigación de Fuga de Memoria de Go 1.24: Un Descubrimiento Inesperado y la Sorpresa de las Tablas Suizas

2025-07-20
Investigación de Fuga de Memoria de Go 1.24: Un Descubrimiento Inesperado y la Sorpresa de las Tablas Suizas

Tras el lanzamiento de Go 1.24, se observó un aumento inesperado en el uso de memoria en un servicio de procesamiento de datos. La investigación reveló que una refactorización de una función de asignación de memoria en el tiempo de ejecución de Go eliminó inadvertidamente una optimización, causando un borrado innecesario de memoria durante la asignación de objetos grandes, lo que aumentó el tamaño del conjunto residente (RSS). Si bien las métricas internas del tiempo de ejecución de Go no mostraron cambios, las métricas de nivel de sistema revelaron un aumento significativo en el uso de memoria. La colaboración con la comunidad de Go ayudó a identificar y solucionar el problema. Sorprendentemente, la nueva función "Tablas Suizas" de Go 1.24 redujo significativamente el uso de memoria en entornos de alto tráfico, compensando la regresión anterior e incluso generando ahorros adicionales de memoria.

Desarrollo