Transmission 4.0 es la nueva versión mayor de este conocido cliente de BitTorrent. En esta ocasión, y dos años después del lanzamiento de la versión 3, nos encontramos con un uso los recursos más eficiente, novedades y mejoras en las conexiones y ciertas migraciones tecnológicas.
Lo primero que sobresale de Transmission 4 es el trabajo realizado para pulir el código ineficiente y el uso de la memoria. Los responsables de la aplicación cuentan que realizaron una prueba de estrés con 25.000 torrents activos y vieron que los ciclos del procesador se redujeron en un 50% y que las asignaciones de memoria se bajaron en un 70% en comparación con la versión 3 del cliente.
Las interfaces de control remoto, que abarcan transmission-qt y transmission-web, usan ahora el modo de tabla de la API RPC para reducir el tamaño de las cargas útiles (playloads) y el ancho de banda utilizado. Por otro lado, la propias cargas de RPC se comprimen a partir de este lanzamiento con la biblioteca libdeflate
, la cual está “altamente optimizada” y “es significativamente más rápida que la biblioteca zlib”.
En lo que respecta a las migraciones tecnológicas, el código base ha sido migrado por completo de C a C++. Durante el proceso también se ha migrado a las herramientas estándares de C++ y se han eliminado miles de líneas de código, por lo que el código base es ahora un 18% más pequeño. El trabajo realizado ha abarcado una amplia refactorización del código base para que esa más fácil de probar y mantener.
La transición de C a C++ ha tenido como consecuencia el uso de gtkmm, que “es la interfaz C++ oficial para la biblioteca de interfaz gráfica GTK”. El cliente web ha sido reescrito en JavaScript moderno y por ende ya no usa jQuery, lo que ha permitido reducir el fichero comprimido GZip a tan solo 68 kilobytes y hacerlo compatible con móviles. El cliente de BitTorrent emplea a partir de este lanzamiento “Sonarcloud, Coverity, LGTM y análisis estático limpio y ordenado en el nuevo código”, además de haberse corregido cientos de advertencias (warnings) en el código fuente. Las pruebas unitarias se han ampliado y trasladado a Google Test.
En cuanto a las nuevas características introducidas en Transmission 4, están el soporte para BitTorrent V2 y torrents híbridos, si bien su creación ha sido pospuesta. Los usuarios pueden ahora establecer los rastreadores predeterminados para anunciar todos los torrents públicos y especificar el tamaño de la pieza a la hora de crear nuevos torrents, las semillas recién agregadas pueden comenzar de inmediato y verificar las piezas a pedido en lugar de necesitar una verificación completa antes de comenzar la siembra y se han añadido una opción para omitir información de identificación potencial al crear nuevos torrents y soporte de listas de bloqueo de IPv6.
Y hasta aquí lo más importante de Transmission 4.0. Los detalles pueden ser consultados a través de las notas de lanzamiento publicadas en GitHub y es posible obtener la aplicación para Linux, Windows y macOS a partir de la sección de descargas del sitio web oficial.