Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren

Die Ergebnisse der Überprüfung der Effizienz der Optimierungen, die in die VTE-Bibliothek (Virtual Terminal Library) aufgenommen und im GNOME 46-Release verwendet wurden, wurden veröffentlicht. Bei den Tests wurde die Reaktionsfähigkeit der Schnittstelle in den Terminalemulatoren Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 und 4) und VTE Test App (Beispiel aus dem VTE-Repository) gemessen, die unter Fedora 39 mit GNOME 45 und unter Fedora 40-beta mit GNOME 46 ausgeführt wurden. Die Anwendung Alacritty verwendet die VTE-Bibliothek nicht und wurde als Referenz gewählt, da sie laut früheren Tests einer der schnellsten Terminalemulatoren ist. Zur Messung wurde ein Hardware-Sensor auf Basis des Teensy-Boards verwendet, der die Zeit zwischen dem Drücken der Taste und dem Erscheinen der Informationen auf dem Bildschirm misst.

Die VTE-Bibliothek bietet ein fertiges GTK-Widget, das in verschiedenen Terminalemulatoren für GNOME verwendet wird, darunter GNOME Terminal, Console, Black Box, Tilix, Terminator und Ptyxis. In GNOME 46 wurden die internen Strukturen in VTE erheblich überarbeitet, was nach Einschätzung der Entwickler zu einer Beschleunigung der Operationen führte, deren Leistungssteigerung in den Tests 40 % erreichte. Praktisch gesehen führten die Optimierungen zu einer Verringerung der Verzögerungen bei der Darstellung in Konfigurationen mit GTK 4. Zuvor waren die Eingabeverzögerungen in Console und GNOME Terminal spürbar, was viele Benutzer davon abhielt, die standardmäßigen Terminalemulatoren für GNOME zu verwenden. Mit der Version VTE 0.76 wurde dieses Problem behoben.

Die durchgeführten unabhängigen Tests bestätigten eine deutliche Verringerung der Eingabeverzögerungen in Anwendungen auf Basis von VTE, die nicht nur in einfachen, sondern auch in komplexen Nutzungsszenarien von Terminalen beobachtet werden. Zum Beispiel wurden bei der Verwendung von neovim die Eingabeverzögerungen der Terminalemulatoren auf Basis von VTE auf das Niveau des schnellsten Terminals Alacritty reduziert. Insbesondere in einem Test zur Verwendung des Befehls "cat" verringerten sich die Reaktionszeiten auf Tasteneingaben in Console und GNOME Terminal von 40 auf 12 ms, während sie im Scrolltest in neovim von 45 auf 23 ms sanken.

Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren
Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren
Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren

Die Beschleunigung der Arbeit mit der neuen Version der VTE-Bibliothek wurde auch im Testset vtebench festgestellt, das nicht die Eingabeverzögerungen, sondern die Lesezeit vom PTY-Gerät und die Parsing-Leistung misst (Tests zur Scrollgeschwindigkeit und Cursorbewegung). In den meisten vtebench-Tests übertrifft das Alacritty-Terminal die Console und das GNOME Terminal, jedoch ist der Rückstand der letzteren nicht mehr so stark ausgeprägt wie früher. Teilweise wird der Rückstand des GNOME Terminals durch die Overheadkosten für die Unterstützung von Hilfsmitteln für Menschen mit Behinderungen (Barrierefreiheit) erklärt.

Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren


Quelle: opennet.ru
60GB SSD 8Gb DDR4