3 पॉइंट द्वारा GN⁺ 2024-04-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • VTE(Virtual TErminal library) वह लाइब्रेरी है जो GNOME टर्मिनल emulator का आधार बनती है। इसका उपयोग GNOME Terminal, Console, Black Box, Tilix, Terminator, Ptyxis जैसे ऐप्स में होता है, और Builder व Workbench के built-in terminal में भी किया जाता है.
  • GNOME 46 cycle के दौरान VTE की performance में बड़ा सुधार हुआ। इस लेख में मापा गया है कि वास्तविक रूप से performance कितनी बढ़ी और user के नज़रिये से कैसा फर्क महसूस हो सकता है।

मापन के लक्ष्य और तरीका

  • terminal emulator की performance मापने के कई तरीके हैं, लेकिन इस लेख में input latency पर फोकस किया गया है।
  • input latency का मतलब है keyboard दबाने के क्षण से लेकर monitor के pixel color बदलने तक लगने वाला समय। कम input latency वाले ऐप्स ज़्यादा responsive महसूस होते हैं, जबकि अधिक input latency वाले ऐप्स धीमे लग सकते हैं।
  • input latency मापने के लिए hardware input-latency tester का उपयोग किया गया। यह Teensy board से जुड़े एक light sensor से बना है और USB के ज़रिए कंप्यूटर से जुड़ा है।

input latency test के नतीजे

  • पहला test: cat > /dev/null कमांड से input field बनाकर Space key दबाने पर block cursor को एक cell दाईं ओर जाने में लगने वाला समय मापा गया
    • VTE टर्मिनल Fedora 39 की तुलना में Fedora 40 में काफ़ी बेहतर हुए और लगभग Alacritty के बराबर स्तर तक पहुँच गए
  • दूसरा test: neovim में README फ़ाइल खोलकर Ctrl+D और Ctrl+U से text buffer scroll करते समय मापन किया गया
    • यहाँ भी GNOME 46 के VTE टर्मिनल में बड़ा सुधार दिखा और वे लगभग Alacritty के बराबर स्तर पर पहुँचे
  • Fedora 40 के सभी terminal को एक साथ तुलना करने पर, neovim test में cat test की तुलना में input latency बढ़ी, लेकिन यह बढ़ोतरी सभी terminal में लगभग समान स्तर की थी

vtebench test के नतीजे

  • Alacritty के vtebench test suite को उसी environment में चलाया गया
  • यह test PTY read और parsing performance को मापता है, और VTE के crash खोजने में भी उपयोगी है
  • GNOME 46 का VTE vtebench में भी बेहतर दिखा, लेकिन Alacritty जितना नहीं

निष्कर्ष

  • GNOME 46 में VTE की performance में बड़ा सुधार हुआ, जिससे input latency सबसे तेज़ terminal के लगभग बराबर स्तर तक पहुँच गई
  • अगर आप धीमे response speed और input latency की वजह से VTE-आधारित terminal से बचते रहे हैं, तो अब इन्हें फिर से आज़माया जा सकता है (VTE 0.76 या उससे ऊपर का version recommended)

GN⁺ की राय

  • VTE-आधारित terminal की performance में सुधार बहुत उत्साहजनक है। इससे user experience बेहतर होने में बड़ा योगदान मिल सकता है।
  • input latency मापने में hardware tester का उपयोग करना दिलचस्प लगा। test process और result की व्याख्या पर विस्तृत विवरण भी उपयोगी था।
  • macOS के default terminal Terminal.app या Windows के नए terminal Windows Terminal से इसकी तुलना करना भी रोचक होगा।
  • उम्मीद है कि VTE की performance में सुधार का GNOME ecosystem पर व्यापक रूप से सकारात्मक असर पड़ेगा। हालांकि अभी भी कुछ ऐसे हिस्से दिखते हैं जहाँ और सुधार की गुंजाइश है, जैसे accessibility, scrollbar आदि।
  • Linux desktop users के लिए यह बहुत स्वागतयोग्य खबर है। उम्मीद है कि अलग-अलग terminal emulator, VTE के इन सुधारों के आधार पर और आगे बढ़ेंगे।

1 टिप्पणियां

 
GN⁺ 2024-04-09

Hacker News राय

  • यह उपलब्धि है कि नवीनतम GNOME टर्मिनल का input latency 1983 के Apple //e कंप्यूटर से कम हो गया है, लेकिन test environment वास्तविक उपयोग environment से अलग है
    • टेस्ट GNOME Shell पर नहीं, बल्कि bare-bones environment raw Mutter पर किया गया था
    • इसमें keyboard latency शामिल नहीं है, इसलिए यह end-to-end latency का माप नहीं है (keyboard latency 60ms तक जा सकती है)
    • उम्मीद है कि default settings में वास्तविक end-to-end latency इससे अधिक होगी
  • माप मॉनिटर के बीच में लिया गया था, लेकिन मॉनिटर के ऊपर और नीचे 8ms का अंतर हो सकता है (क्योंकि CRT की तरह pixels ऊपर से नीचे draw होते हैं)
  • मॉनिटरों के बीच सीधी तुलना करना मुश्किल है। driver या profile की वजह से ऐसे प्रभाव हो सकते हैं जिनकी तुलना नहीं की जा सकती
  • यह विडंबनापूर्ण है कि यथार्थवादी 3D rendering संभव होने के दौर में भी terminal text output की समस्या सुलझाई जा रही है
  • VTE डेवलपर के performance improvements के प्रयास और hardware-based latency measurement के प्रयास प्रभावशाली हैं
  • क्या Linux में macOS Terminal की तरह ऐसा terminal है जो हर tab के लिए history और scrollback याद रखता हो, इस पर सवाल
  • लंबे समय तक Gnome इस्तेमाल किया, लेकिन sway+alacritty पर बदलने के बाद कोई फर्क महसूस नहीं हुआ, ऐसी राय
  • Gnome Terminal की छोटी शुरुआती window size और size save न होने की समस्या का उल्लेख
  • xterm+i3wm इस्तेमाल करते हुए इससे तेज़ कुछ अनुभव नहीं हुआ, और GPU इस्तेमाल करने वाला alacritty overkill है, ऐसी राय
  • यह राय कि Mitchelle Hashimoto का Ghostty terminal भी benchmark में शामिल होना अच्छा होगा
  • यह राय कि सिर्फ साधारण cat test नहीं, बल्कि इस बार का benchmark अच्छा था, और ज़्यादा terminals, खासकर native Linux console, को भी test करना अच्छा होगा