Aumentando el rendimiento de Ruby Ractor: abordando el cuello de botella de `object_id`
El modelo de concurrencia Ractor de Ruby sufre limitaciones de rendimiento debido a bloqueos globales. Esta publicación profundiza en un cuello de botella de rendimiento causado por el método `object_id`, derivado de decisiones de diseño históricas y mejoras en la recolección de basura. Al optimizar la implementación de `object_id`, almacenándolo directamente dentro de los objetos en lugar de usar una búsqueda en una tabla hash global, el autor mejora significativamente el rendimiento de Ractor, lo que resulta en un aumento de velocidad del doble en los puntos de referencia de JSON. Si bien aún existen desafíos, como el manejo de tipos de objetos especiales, este trabajo representa un paso crucial para hacer que los Ractors sean verdaderamente paralelos.