featured image

El mundo Erlang se va moviendo cada vez más rápido, además de tener cada vez más presencia en más eventos del mundo del desarrollo, escalabilidad y sus propias convenciones, la liberación de nuevas versiones va a un buen ritmo, entregando recientemente la versión R16B el día de hoy.

Los cambios no son muchos, afortunadamente y sin embargo las mejoras son importantes. En esencia, esta entrega mejora el carácter no bloqueante de Erlang haciendo que los bloqueos no se produzcan entre lecturas y escrituras en los puertos, y tampoco en la recarga de módulos.

Algunas de las mejoras y cambios más importantes (traducido del aviso oficial):

  • Manejo de procesos optimizado en la VM (máquina virtual):
    • Nueva tabla de procesos interna para lecturas y escrituras paralelas
    • Manejo optimizado de colas de ejecución.
    • Cambio de estado de los procesos optimizado.
  • Carga de código no bloqueante
  • Nueva tabla interna de puertos y reescritura del programador de tareas de puertos.
  • Reserva dinámica de estructuras de puertos permitiendo el número máximo de puertos por defecto incrementarse hasta 65536 (desde 1024).
  • Soporte para caracteres UTF-8 en ficheros de código fuente.
  • Soporte para HTTPS a través de proxy en la aplicación inets
  • Limpieza mayor de backends y optimizaciones de decodificación para PER y UPER en la aplicación asn1
  • La característica experimental de módulos parametrizados ha sido eliminada. Como solución alternativa se puede utilizar este transform.
  • Todas las funciones BIF son visibles ahora en el código fuente del módulo al que pertenezcan, incluyendo sus especificaciones de tipos.
  • La aplicación wx compila ahora y es utilizable con la rama inestable de wxWidgets-2.9 por lo que es compatible con MacOSX de 64 bits.

Esta liberación también contiene algunas incompatibilidades por elementos que se han eliminado o marcado como obsoletos. Para más información podéis echarle un vistazo al README (en inglés).