Utvärdering av effekten av optimeringar i GNOME 46 på terminalemulatorers prestanda

Resultaten från utvärderingen av effektiviteten av de optimeringar som lades till i VTE-biblioteket (Virtual Terminal Library) och ingår i version GNOME 46 har publicerats. Vid testningen mättes responsen hos gränssnittet i terminalemulatorer som Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 och 4) samt VTE Test App (ett exempel från VTE-förvaret), när de kördes i Fedora 39 med GNOME 45 och i Fedora 40-beta med GNOME 46. Alacritty använder inte VTE-biblioteket och valdes som referens, eftersom det, enligt tidigare tester, är en av de snabbaste terminalemulatorerna. För att mäta användes en hårdvarusensorn baserad på Teensy-kortet som mätte tiden mellan knapptryckning och informationens framträdande på skärmen.

VTE-biblioteket tillhandahåller en färdig GTK-widget som används i olika terminalemulatorer för GNOME, inklusive GNOME Terminal, Console, Black Box, Tilix, Terminator och Ptyxis. I version GNOME 46 har VTE genomgått betydande omarbetningar av interna strukturer, vilket enligt utvecklarna har lett till snabbare operationer, där prestationsvinsterna i testerna uppgick till upp till 40%. Från ett praktiskt perspektiv har optimeringarna resulterat i minskade fördröjningar vid rendering i konfigurationerna med GTK 4. Tidigare var fördröjningarna vid tangentinmatning i Console och GNOME Terminal märkbara, vilket avskräckte många användare från att använda de inbyggda terminalemulatorerna för GNOME. Detta problem har åtgärdats med version VTE 0.76.

Den oberoende testningen bekräftade en märkbar minskning av inmatningsfördröjningarna i applikationer baserade på VTE, som observerades inte bara i enkla utan även i komplexa användarscenarier för terminaler. Till exempel, vid användning av neovim minskade inmatningsfördröjningarna i terminalemulatorer baserade på VTE till nivån av den snabbaste terminalen Alacritty. I ett specifikt test som relaterade till användning av kommandot "cat", minskade reaktionen på tangenttryckningar i Console och GNOME Terminal från 40 ms till 12 ms, medan fördröjningen i ett test av rullning i neovim minskade från 45 ms till 23 ms.

Utvärdering av effekten av optimeringar i GNOME 46 på terminalemulatorers prestanda
Utvärdering av effekten av optimeringar i GNOME 46 på terminalemulatorers prestanda
Utvärdering av effekten av optimeringar i GNOME 46 på terminalemulatorers prestanda

Prestandaökningen vid användning av den nya versionen av VTE-biblioteket har också noterats i testuppsättningen vtebench, som mäter inte inmatningsfördröjningar utan lästid från PTY-enheten och parserprestanda (testar rullnings- och musrörelsetider). I de flesta testerna överträffar Alacritty-terminalen Console och GNOME Terminal, men sistnämndas avstånd är inte längre så tydligt som tidigare. Dels förklaras GNOME Terminals avstånd av overheadkostnaderna för att stödja tillgänglighetsverktyg.

Utvärdering av effekten av optimeringar i GNOME 46 på terminalemulatorers prestanda


Källa: opennet.ru
Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster