Оценка на влиянието на оптимизациите в 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 се обяснява с разходите по поддръжка на средства за хора с увреждания (accessibility).

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


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