- Artículo que analiza la necesidad y la forma de un paquete de corutinas para Go
- Las corutinas son un patrón de concurrencia que se ejecuta simultáneamente en pilas distintas y permiten datos compartidos y puntos de sincronización explícitos
- El artículo ofrece ejemplos de corutinas en Lua y Python, y destaca las diferencias entre ambos lenguajes
- Al comparar corutinas, hilos y generadores, las corutinas ofrecen concurrencia sin paralelismo
- El artículo explora casos de uso de corutinas en Go, como la iteración de colecciones genéricas
- Presenta una implementación sencilla de corutinas en Go usando canales y goroutines
- Incluye ejemplos de uso de corutinas, entre ellos un parser de cadenas y un cribado de números primos
- El artículo concluye con una discusión sobre la posibilidad de una implementación optimizada de corutinas en el runtime de Go
- Las corutinas se usan para crear flujos de control concurrentes que se ejecutan al mismo tiempo sin ser paralelos
- El artículo explica la diferencia entre corutinas y goroutines
- Las corutinas pueden usarse para crear pipelines y filtros para el procesamiento de datos
- Ofrece un ejemplo de implementación de un cribado de números primos con corutinas
- El artículo analiza mejoras para las corutinas, como el manejo de
panic y la cancelación
- A través de ejemplos, muestra cómo las corutinas pueden simplificar el código y facilitar su organización
- El artículo analiza la implementación de corutinas en el lenguaje de programación Go
- Las corutinas son hilos ligeros que pueden pausarse y reanudarse
- La API de corutinas incluye funciones como
New, resume, cancel y yield
- Las corutinas pueden usarse para crear nueva concurrencia sin introducir paralelismo
- La eficiencia de las corutinas se optimiza mediante distintas implementaciones
- Una implementación basada en canales tarda alrededor de 190 ns por cambio
- Una implementación basada en compilador reduce el tiempo de cambio a 118 ns por cambio
- La implementación más eficiente usa cambios directos de corutina y tarda 20 ns por cambio
- El artículo enfatiza la importancia de optimizar las corutinas para el rendimiento
- Las corutinas son útiles para procesar gradualmente valores repetidos
- La implementación de corutinas en Go ofrece una herramienta potente para los desarrolladores
1 comentarios
Comentarios en Hacker News
for.Set, que podrían beneficiarse de los iteradores.