Se han publicado los resultados de la revisión de la efectividad de las optimizaciones añadidas a la biblioteca VTE (Virtual Terminal Library) y que están incluidas en la versión GNOME 46. Durante las pruebas, se midió la capacidad de respuesta de la interfaz en los emuladores de terminal Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 y 4) y VTE Test App (un ejemplo del repositorio VTE), ejecutándose en Fedora 39 con GNOME 45 y en Fedora 40-beta con GNOME 46. La aplicación Alacritty no utiliza la biblioteca VTE y se eligió como referencia, ya que, según pruebas anteriores, es uno de los emuladores de terminal más rápidos. Se utilizó un sensor de hardware basado en una placa Teensy para medir el tiempo entre la pulsación de la tecla y la aparición de la información en la pantalla.
La biblioteca VTE proporciona un widget GTK listo para usar, que se emplea en varios emuladores de terminal para GNOME, entre los que se encuentran GNOME Terminal, Console, Black Box, Tilix, Terminator y Ptyxis. En la versión GNOME 46, se han revisado significativamente las estructuras internas de VTE, lo que, según los desarrolladores, ha llevado a una aceleración de las operaciones, alcanzando mejoras de rendimiento del 40% en las pruebas. Desde el punto de vista práctico, las optimizaciones han reducido las latencias en la renderización en configuraciones con GTK 4. Anteriormente, las latencias al introducir texto en Console y GNOME Terminal eran notorias, lo que alejaba a muchos usuarios del uso de los emuladores de terminal predeterminados de GNOME. La versión VTE 0.76 ha resuelto este problema.
Las pruebas independientes realizadas han confirmado una notable reducción en las latencias de entrada de datos en aplicaciones basadas en VTE, que se observa no solo en escenarios simples, sino también en casos de uso complejos de terminales. Por ejemplo, al usar neovim, las latencias de entrada en los emuladores de terminal basados en VTE se han reducido al nivel del terminal más rápido, Alacritty. En particular, en la prueba relacionada con el uso de la utilidad 'cat', la respuesta a la pulsación de teclas en Console y GNOME Terminal se redujo de 40 a 12 ms, y en la prueba de desplazamiento en neovim, de 45 a 23 ms.



Se ha notado una mejora en el rendimiento con la nueva versión de la biblioteca VTE en el conjunto de pruebas vtebench, que mide no solo los retrasos de entrada, sino el tiempo de lectura desde el dispositivo PTY y el rendimiento del análisis (pruebas de velocidad de desplazamiento y movimiento del cursor). En la mayoría de las pruebas, el terminal Alacritty supera a Console y GNOME Terminal, aunque la desventaja de los últimos ya no es tan pronunciada como antes. Parte de la desventaja de GNOME Terminal se debe al costo adicional de soportar herramientas de accesibilidad.

Fuente: opennet.ru
