Les résultats de l'évaluation de l'efficacité des optimisations ajoutées à la bibliothèque VTE (Virtual Terminal library) et intégrées dans la version de GNOME 46 ont été publiés. Lors des tests, la réactivité de l'interface a été mesurée dans les émulateurs de terminal Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 et 4) et VTE Test App (un exemple du dépôt VTE), en les exécutant sur Fedora 39 avec GNOME 45 et sur Fedora 40-beta avec GNOME 46. L'application Alacritty n'utilise pas la bibliothèque VTE et a été choisie comme référence, car, selon les tests précédents, elle est l'un des émulateurs de terminal les plus rapides. Un capteur matériel basé sur une carte Teensy a été utilisé pour mesurer le temps entre l'appui sur le bouton et l'apparition des informations à l'écran.
La bibliothèque VTE offre un widget GTK prêt à l'emploi, utilisé dans divers émulateurs de terminal pour GNOME, parmi lesquels GNOME Terminal, Console, Black Box, Tilix, Terminator et Ptyxis. Dans la version de GNOME 46, les structures internes de VTE ont été considérablement retravaillées, ce qui, selon les développeurs, a entraîné une accélération des opérations, dont la performance a atteint dans les tests jusqu'à 40%. D'un point de vue pratique, les optimisations ont permis de réduire les délais de rendu dans les configurations avec GTK 4. Auparavant, les délais de saisie au clavier dans Console et GNOME Terminal étaient perceptibles, ce qui rebutait de nombreux utilisateurs d'utiliser les émulateurs de terminal par défaut pour GNOME. Avec la version VTE 0.76, ce problème a été résolu.
Les tests indépendants effectués ont confirmé une réduction significative des délais de saisie dans les applications basées sur VTE, observée non seulement dans des scénarios simples, mais aussi dans des scénarios d'utilisation complexes des terminaux. Par exemple, lors de l'utilisation de neovim, les délais de saisie des émulateurs de terminal basés sur VTE ont été réduits au niveau du terminal le plus rapide, Alacritty. Plus précisément, dans le test lié à l'utilisation de l'utilitaire «cat», la réactivité aux frappes de touches dans Console et GNOME Terminal est passée de 40 à 12 ms, tandis que dans le test de défilement dans neovim, elle est passée de 45 à 23 ms.



L'accélération des performances avec la nouvelle version de la bibliothèque VTE a également été notée dans l'ensemble de tests vtebench, qui mesure non pas les latences d'entrée, mais le temps de lecture depuis l'appareil PTY et les performances d'analyse (tests de vitesse de défilement et de déplacement du curseur). Dans la plupart des tests, le terminal Alacritty surpasse Console et GNOME Terminal, mais l'écart des derniers n'est plus aussi marqué qu'auparavant. En partie, le retard de GNOME Terminal s'explique par les coûts d'assistance aux personnes handicapées (accessibilité).

Source : opennet.ru
