Оценка на влиянието на оптимизациите в GNOME 46 върху ефективността на работа на терминалните емулатори.

Публикувани са резултатите от проверката на ефективността на оптимизациите, добавени в библиотеката VTE (Virtual Terminal library) и включени в релиза GNOME 46. При тестовете беше измерена отзивчивостта на интерфейса в емулации на терминала Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 и 4) и VTE Test App (пример от репозитория VTE), при тяхното стартиране в Fedora 39 с GNOME 45 и в Fedora 40-beta с GNOME 46. Приложението Alacritty не използва библиотеката VTE и е избрано за еталон, тъй като, според предишни тестове, е един от най-бързите емулации на терминали. За измерването беше използван хардуерен сензор на базата на платка Teensy, измерващ времето между натискането на бутона и появата на информацията на екрана.

Библиотеката VTE предоставя готов GTK уиджет, който се използва в различни емулации на терминала за GNOME, сред които GNOME Terminal, Console, Black Box, Tilix, Terminator и Ptyxis. В версия GNOME 46 вътрешните структури на VTE са значително преработени, което, според оценките на разработчиците, е довело до ускорение на операциите, като увеличението на производителността е достигнало до 40% в тестовете. От прагматична гледна точка оптимизациите доведоха до намаляване на забавянето при рендериране в конфигурации с GTK 4. По-рано забавянето при въвеждане с клавиатурата в Console и GNOME Terminal беше осезаемо, което отблъскваше много потребители от използването на стандартните емулации на терминала за GNOME. При използването на версия VTE 0.76 този проблем е решен.

Проведеното независимо тестване потвърди значително намаление на забавянето при въвеждане на данни в приложения на база VTE, което се наблюдава не само в прости, но и в сложни сценарии на използване на терминали. Например, при използване на neovim, забавянето при въвеждане в емулации на терминали на база VTE намаля до нивото на най-бързия терминал Alacritty. В частност, в тест, свързан с използването на утилитата "cat", реакцията на натиска на клавишите в Console и GNOME Terminal намаля от 40 до 12 мс, а в теста за скролиране в neovim — от 45 до 23 мс.

Оценка на влиянието на оптимизациите в GNOME 46 върху ефективността на работа на терминалните емулатори.
Оценка на влиянието на оптимизациите в GNOME 46 върху ефективността на работа на терминалните емулатори.
Оценка на влиянието на оптимизациите в GNOME 46 върху ефективността на работа на терминалните емулатори.

Ускорението на работата при използване на новата версия на библиотеката VTE също е отбелязано в тестовия набор vtebench, който измерва не забавянето на входа, а времето за четене от устройството PTY и производителността на парсинга (тестове за скорост на превъртане и движение на курсора). В повечето тестове vtebench терминалът Alacritty изпреварва Console и GNOME Terminal, но разликата между тях вече не е толкова изразена, както преди. Част от изоставането на GNOME Terminal се обяснява с разходите за поддръжка на средства за хора с увреждания (достъпност).

Оценка на влиянието на оптимизациите в GNOME 46 върху ефективността на работа на терминалните емулатори.


Източник: opennet.ru
Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster