எங்கள் மொழிபெயர்ப்புப் பணியகத்திலிருந்து சில வார்த்தைகள்: பொதுவாக அனைவரும் சமீபத்திய பொருட்கள் மற்றும் வெளியீடுகளை மொழிபெயர்க்க முயற்சி செய்கிறோம், நாங்கள் விதிவிலக்கல்ல. ஆனால் டெர்மினல்கள் வாரத்திற்கு ஒருமுறை புதுப்பிக்கப்படும் ஒன்றல்ல. எனவே, 2018 வசந்த காலத்தில் வெளியிடப்பட்ட அன்டோயின் பியூப்ரேயின் ஒரு கட்டுரையை உங்களுக்காக மொழிபெயர்த்துள்ளோம்: நவீன தரத்தின்படி அதன் கணிசமான "வயது" இருந்தபோதிலும், எங்கள் கருத்துப்படி, பொருள் அதன் பொருத்தத்தை இழக்கவில்லை. கூடுதலாக, இது முதலில் இரண்டு கட்டுரைகளின் தொடராக இருந்தது, ஆனால் அவற்றை ஒரு பெரிய இடுகையாக இணைக்க முடிவு செய்தோம்.
டெர்மினல்கள் கணினி வரலாற்றில் ஒரு சிறப்பு இடத்தைப் பெற்றுள்ளன, ஆனால் சமீபத்திய தசாப்தங்களில் வரைகலை இடைமுகங்கள் எங்கும் காணப்படுவதால் அவை கட்டளை வரியுடன் வாழ வேண்டிய கட்டாயத்தில் உள்ளன.
சில டெர்மினல்கள் முற்றிலும் ஆச்சரியமான பாதுகாப்பு ஓட்டைகளைக் கொண்டுள்ளன, மேலும் பெரும்பாலானவை தாவல் இடைமுகத்திற்கான ஆதரவிலிருந்து ஸ்கிரிப்டிங் வரை முற்றிலும் மாறுபட்ட செயல்பாடுகளைக் கொண்டுள்ளன. நாம் என்றாலும்
நான் மதிப்பாய்வு செய்த டெர்மினல்கள் இதோ:
டெபியன் 9 அல்லது ஃபெடோரா 27 இல் நான் வெளியிட முடிந்தது, எழுதும் நேரத்தில் நான் நிலையான உருவாக்கங்களுக்கு மட்டுப்படுத்தப்பட்டதால் இவை சமீபத்திய பதிப்புகளாக இருக்காது. ஒரே விதிவிலக்கு அலக்ரிட்டி. இது GPU-முடுக்கப்பட்ட டெர்மினல்களின் வழித்தோன்றல் மற்றும் இந்த பணிக்காக அசாதாரணமான மற்றும் புதிய மொழியில் எழுதப்பட்டுள்ளது - ரஸ்ட். எனது மதிப்பாய்வில் இருந்து வலை டெர்மினல்களை விலக்கிவிட்டேன் (இதில் உள்ளவை உட்பட
யூனிகோட் ஆதரவு
யூனிகோட் ஆதரவுடன் எனது சோதனைகளைத் தொடங்கினேன். டெர்மினல்களின் முதல் சோதனையானது யூனிகோட் சரத்தை காட்டுவதாகும்
முன்னிருப்பாக, xterm கிளாசிக் "நிலையான" எழுத்துருவைப் பயன்படுத்துகிறது, அதன்படி
டெபியன் 27 ஐ விட இந்த ஸ்கிரீன் ஷாட்கள் ஃபெடோரா 9 இல் எடுக்கப்பட்டன, சில பழைய டெர்மினல்கள் (குறிப்பாக mlterm) எழுத்துருக்களை சரியாகக் கையாள முடியாத நிலையில் இது சிறந்த முடிவுகளைக் கொடுத்தது. அதிர்ஷ்டவசமாக இது பிந்தைய பதிப்புகளில் சரி செய்யப்பட்டது.
இப்போது xterm இல் வரி எவ்வாறு காட்டப்படுகிறது என்பதைக் கவனியுங்கள். மெம் சின்னம் மற்றும் பின்வரும் செமிடிக் என்று மாறிவிடும்
“பல கணினி நிரல்களால் இருதரப்பு உரையை சரியாகக் காட்ட முடியாது. எடுத்துக்காட்டாக, "சாரா" என்ற எபிரேயப் பெயர் sin (ש) (வலதுபுறத்தில் தோன்றும்), பின்னர் resh (ר) மற்றும் இறுதியாக he (ה) (இடதுபுறத்தில் தோன்றும்) எழுத்துக்களைக் கொண்டுள்ளது."
பல டெர்மினல்கள் இந்த சோதனையில் தோல்வியடைகின்றன: அலக்ரிட்டி, VTE-பெறப்பட்ட Gnome மற்றும் XFCE டெர்மினல்கள், urxvt, st மற்றும் xterm டிஸ்ப்ளே "சாரா" தலைகீழ் வரிசையில், நாம் பெயரை "அரஸ்" என்று எழுதியது போல்.
இருதரப்பு உரைகளில் உள்ள மற்றொரு சிக்கல் என்னவென்றால், அவை எப்படியாவது சீரமைக்கப்பட வேண்டும், குறிப்பாக RTL மற்றும் LTR உரைகளை கலக்கும்போது. RTL ஸ்கிரிப்டுகள் டெர்மினல் சாளரத்தின் வலது பக்கத்திலிருந்து இயங்க வேண்டும், ஆனால் LTR ஆங்கிலத்திற்கு இயல்புநிலையாக இருக்கும் டெர்மினல்களுக்கு என்ன நடக்கும்? அவர்களில் பெரும்பாலோர் எந்த சிறப்பு வழிமுறைகளையும் கொண்டிருக்கவில்லை மற்றும் அனைத்து உரைகளையும் இடதுபுறமாக (கான்சோல் உட்பட) சீரமைக்கிறார்கள். விதிவிலக்குகள் pterm மற்றும் mlterm ஆகும், அவை தரநிலைகளை கடைபிடிக்கின்றன மற்றும் அத்தகைய கோடுகளை வலது-சீரமைக்கின்றன.
செருகும் பாதுகாப்பு
நான் அடையாளம் கண்டுள்ள அடுத்த முக்கியமான அம்சம் ஆண்டிசெர்ஷன் பாதுகாப்பு. இது போன்ற உச்சரிப்புகள் பரவலாக அறியப்பட்டாலும்:
$ curl http://example.com/ | sh
கோட் எக்ஸிகியூஷன் புஷ் கட்டளைகள், கவனமாக ஆய்வு செய்த பின்னரும் கூட, இணைய உலாவியில் இருந்து நகலெடுத்து ஒட்டும்போது மறைக்கப்பட்ட கட்டளைகள் கன்சோலுக்குள் ஊடுருவ முடியும் என்பது சிலருக்குத் தெரியும்.
git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git
ஹார்னின் இணையதளத்தில் இருந்து டெர்மினலில் ஒட்டும்போது இது போன்ற தொல்லையாக மாறும்:
git clone /dev/null;
clear;
echo -n "Hello ";
whoami|tr -d 'n';
echo -e '!nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!
Here'"'"'s the first line of your /etc/passwd: ';
head -n1 /etc/passwd
git clone git://git.kernel.org/pub/scm/utils/kup/kup.git
எப்படி இது செயல்படுகிறது? தீங்கிழைக்கும் குறியீடு தொகுதியில் சேர்க்கப்பட்டுள்ளது , இது CSS ஐப் பயன்படுத்தி பயனரின் பார்வையில் இருந்து நகர்த்தப்பட்டது.
set enable-bracketed-paste on
துரதிர்ஷ்டவசமாக, ஹார்னின் சோதனைத் தளம், உரை வடிவமைப்பின் மூலம் இந்தப் பாதுகாப்பை எவ்வாறு புறக்கணிப்பது என்பதையும், அதற்கு முன்னதாக அடைப்புப் பயன்முறையைப் பயன்படுத்துவதையும் காட்டுகிறது. சில டெர்மினல்கள் அவற்றின் சொந்தத்தை சேர்ப்பதற்கு முன் தப்பிக்கும் காட்சிகளை சரியாக வடிகட்டாததால் இது வேலை செய்கிறது. எடுத்துக்காட்டாக, என்னுடையதில் சரியான உள்ளமைவுடன் கூட என்னால் கான்சோல் சோதனைகளை வெற்றிகரமாக முடிக்க முடியவில்லை. .inputrc கோப்பு. ஆதரிக்கப்படாத பயன்பாடு அல்லது தவறாக உள்ளமைக்கப்பட்ட ஷெல் காரணமாக உங்கள் கணினி உள்ளமைவை எளிதில் சிதைக்க முடியும் என்பதே இதன் பொருள். ரிமோட் சர்வர்களில் உள்நுழையும்போது இது மிகவும் ஆபத்தானது, கவனமாக உள்ளமைவு வேலை குறைவாக இருக்கும், குறிப்பாக உங்களிடம் இதுபோன்ற பல தொலை இயந்திரங்கள் இருந்தால்.
இந்த சிக்கலுக்கு ஒரு நல்ல தீர்வு டெர்மினலுக்கான பேஸ்ட் உறுதிப்படுத்தல் செருகுநிரலாகும் urxvt, இது புதிய வரிகளைக் கொண்ட எந்த உரையையும் செருக அனுமதி கேட்கிறது. ஹார்ன் விவரித்த உரைத் தாக்குதலுக்கு இன்னும் பாதுகாப்பான விருப்பத்தை நான் காணவில்லை.
தாவல்கள் மற்றும் சுயவிவரங்கள்
இப்போது பிரபலமான அம்சம் தாவலாக்கப்பட்ட இடைமுகத்திற்கான ஆதரவாகும், இது பல டெர்மினல்களைக் கொண்ட ஒரு முனைய சாளரமாக வரையறுக்கப்படும். இந்த செயல்பாடு வெவ்வேறு டெர்மினல்களுக்கு வேறுபடுகிறது, மேலும் பாரம்பரிய xterm டெர்மினல்கள் டேப்களை ஆதரிக்கவில்லை என்றாலும், Xfce டெர்மினல், க்னோம் டெர்மினல் மற்றும் கான்சோல் போன்ற நவீன டெர்மினல் அவதாரங்கள் இந்த செயல்பாட்டைக் கொண்டுள்ளன. Urxvt தாவல்களையும் ஆதரிக்கிறது, ஆனால் நீங்கள் ஒரு செருகுநிரலைப் பயன்படுத்தினால் மட்டுமே. ஆனால் தாவல் ஆதரவைப் பொறுத்தவரை, டெர்மினேட்டர் மறுக்கமுடியாத தலைவர்: இது தாவல்களை ஆதரிப்பது மட்டுமல்லாமல், டெர்மினல்களை எந்த வரிசையிலும் ஏற்பாடு செய்யலாம் (கீழே உள்ள படத்தைப் பார்க்கவும்).
டெர்மினேட்டரின் மற்றொரு அம்சம், இந்த டேப்களை ஒன்றாக "குழு" செய்யும் திறன் மற்றும் ஒரே நேரத்தில் பல டெர்மினல்களுக்கு ஒரே விசை அழுத்தங்களை அனுப்புவது, ஒரே நேரத்தில் பல சேவையகங்களில் மொத்த செயல்பாடுகளைச் செய்வதற்கான கச்சா கருவியை வழங்குகிறது. இதேபோன்ற அம்சம் கான்சோலிலும் செயல்படுத்தப்படுகிறது. மற்ற டெர்மினல்களில் இந்த அம்சத்தைப் பயன்படுத்த, நீங்கள் மூன்றாம் தரப்பு மென்பொருளைப் பயன்படுத்த வேண்டும்
சுயவிவரங்களுடன் இணைக்கப்படும்போது தாவல்கள் சிறப்பாகச் செயல்படுகின்றன: எடுத்துக்காட்டாக, மின்னஞ்சலுக்கு ஒரு தாவலையும், அரட்டைக்கு மற்றொரு தாவலையும் வைத்திருக்கலாம். இதை கான்சோல் டெர்மினல் மற்றும் க்னோம் டெர்மினல் நன்கு ஆதரிக்கிறது. இரண்டும் ஒவ்வொரு தாவலையும் அதன் சொந்த சுயவிவரத்தைத் தானாகவே தொடங்க அனுமதிக்கின்றன. டெர்மினேட்டர் சுயவிவரங்களையும் ஆதரிக்கிறது, ஆனால் ஒரு குறிப்பிட்ட தாவல் திறக்கப்படும்போது சில நிரல்களைத் தானாகவே தொடங்குவதற்கான வழியை என்னால் கண்டுபிடிக்க முடியவில்லை. மற்ற டெர்மினல்களுக்கு "சுயவிவரம்" என்ற கருத்து இல்லை.
ரஃபிள்ஸ்
இந்தக் கட்டுரையின் முதல் பகுதியில் நான் கடைசியாகப் பேசுவது டெர்மினல்களின் தோற்றம். எடுத்துக்காட்டாக, GNOME, Xfce மற்றும் urxvt ஆகியவை வெளிப்படைத்தன்மையை ஆதரிக்கின்றன, ஆனால் சமீபத்தில் பின்னணி படங்களுக்கான ஆதரவைக் கைவிட்டதால், சில பயனர்கள் முனையத்திற்கு மாற வேண்டிய கட்டாயம் ஏற்பட்டது.
சில டெர்மினல்கள் இணைப்புகளை கிளிக் செய்யக்கூடியதாக மாற்ற URL வடிவங்களுக்கான உரையையும் பகுப்பாய்வு செய்கின்றன. இது அனைத்து VTE-பெறப்பட்ட டெர்மினல்களுக்கும் பொருந்தும், அதே நேரத்தில் urxvt க்கு ஒரு சிறப்பு செருகுநிரல் தேவைப்படுகிறது, இது ஒரு கிளிக்கில் அல்லது விசைப்பலகை குறுக்குவழியைப் பயன்படுத்தி URLகளை மாற்றும். நான் சோதித்த பிற டெர்மினல்கள் வேறு வழிகளில் காட்சி URLகள்.
இறுதியாக, டெர்மினல்களில் ஒரு புதிய போக்கு உருள் இடையகத்தின் விருப்பமாகும். எடுத்துக்காட்டாக, st க்கு ஸ்க்ரோல் பஃபர் இல்லை; tmux போன்ற டெர்மினல் மல்டிபிளெக்சரைப் பயனர் பயன்படுத்துவார் என்று கருதப்படுகிறது
அலக்ரிட்டியில் பின்ஸ்க்ரோல் பஃபர்களும் இல்லை, ஆனால்
கூட்டுத்தொகைகளைக்
பொருளின் இரண்டாம் பகுதியில் (மூலத்தில் இவை இரண்டு வெவ்வேறு கட்டுரைகள் - தோராயமாக. பாதை) செயல்திறன், நினைவக பயன்பாடு மற்றும் தாமதத்தை ஒப்பிடுவோம். ஆனால் கேள்விக்குரிய சில டெர்மினல்களில் கடுமையான குறைபாடுகள் இருப்பதை நாம் ஏற்கனவே பார்க்க முடியும். எடுத்துக்காட்டாக, RTL ஸ்கிரிப்ட்களுடன் தொடர்ந்து பணிபுரியும் பயனர்கள் mlterm மற்றும் pterm ஆகியவற்றைக் கருத்தில் கொள்ள விரும்பலாம், ஏனெனில் அவர்கள் மற்றவர்களை விட ஒத்த பணிகளைக் கையாள்வதில் சிறந்தவர்கள். கான்சோலும் சிறப்பாக நடித்தார். RTL ஸ்கிரிப்ட்களுடன் வேலை செய்யாத பயனர்கள் வேறு ஏதாவது ஒன்றைத் தேர்வு செய்யலாம்.
தீங்கிழைக்கும் குறியீடு செருகலுக்கு எதிரான பாதுகாப்பைப் பொறுத்தவரை, urxvt தனித்து நிற்கிறது, ஏனெனில் இந்த வகையான தாக்குதலுக்கு எதிரான பாதுகாப்பை அதன் சிறப்புச் செயல்படுத்தல், இது எனக்கு நிச்சயமாக வசதியாகத் தெரிகிறது. சில மணிகள் மற்றும் விசில்களைத் தேடுபவர்களுக்கு, கான்சோல் பார்க்கத் தகுந்தது. இறுதியாக, VTE என்பது டெர்மினல்களுக்கான ஒரு சிறந்த தளமாகும், இது வண்ண ஆதரவு, URL அங்கீகாரம் மற்றும் பலவற்றிற்கு உத்தரவாதம் அளிக்கிறது. முதல் பார்வையில், உங்களுக்குப் பிடித்த சூழலுடன் வரும் இயல்புநிலை முனையம் அனைத்துத் தேவைகளையும் பூர்த்தி செய்யலாம், ஆனால் செயல்திறனைப் புரிந்துகொள்ளும் வரை இந்தக் கேள்வியைத் திறந்து விடுவோம்.
உரையாடலைத் தொடர்வோம்
பொதுவாக, டெர்மினல்களின் செயல்திறன் தொலைதூர சிக்கலாகத் தோன்றலாம், ஆனால் அது மாறிவிடும், அவற்றில் சில அத்தகைய அடிப்படை வகை மென்பொருளுக்கு வியக்கத்தக்க உயர் தாமதத்தை வெளிப்படுத்துகின்றன. பாரம்பரியமாக "வேகம்" (உண்மையில், இது ஸ்க்ரோலிங் வேகம்) மற்றும் டெர்மினலின் நினைவக நுகர்வு (இது பல தசாப்தங்களுக்கு முன்பு இருந்ததைப் போல இன்று முக்கியமானதாக இல்லை என்ற எச்சரிக்கையுடன்) அடுத்து பார்ப்போம்.
தாமதம்
முனைய செயல்திறன் பற்றிய முழுமையான ஆய்வுக்குப் பிறகு, இந்த விஷயத்தில் மிக முக்கியமான அளவுரு தாமதம் (பிங்) என்ற முடிவுக்கு வந்தேன். அவரது கட்டுரையில்
ஆனால் தாமதம் என்றால் என்ன, அது ஏன் மிகவும் முக்கியமானது? அவரது கட்டுரையில், ஃபாடின் அதை "ஒரு விசையை அழுத்துவதற்கும் தொடர்புடைய திரை புதுப்பிப்புக்கும் இடையிலான தாமதம்" என்று வரையறுத்தார்.
இந்த பிங் திருப்தியை விட ஆழமான விளைவுகளை ஏற்படுத்துகிறது என்று ஃபாடின் விளக்குகிறார்: "தட்டச்சு மெதுவாகிறது, அதிக பிழைகள் ஏற்படுகின்றன, மேலும் கண் மற்றும் தசை பதற்றம் அதிகரிக்கிறது." வேறு வார்த்தைகளில் கூறுவதானால், ஒரு பெரிய தாமதம் எழுத்துப்பிழைகளுக்கு வழிவகுக்கும் மற்றும் குறியீட்டின் தரத்தை குறைக்கலாம், ஏனெனில் இது மூளையில் கூடுதல் அறிவாற்றல் சுமைக்கு வழிவகுக்கிறது. ஆனால் மோசமான விஷயம் என்னவென்றால், பிங் "கண் மற்றும் தசை அழுத்தத்தை அதிகரிக்கிறது", இது குறிக்கிறது
இந்த விளைவுகளில் சில நீண்ட காலமாக அறியப்பட்டவை, மற்றும் முடிவுகள்
ஃபாடின் உரை ஆசிரியர்களிடம் தனது சோதனைகளை நடத்தினார்; அவர் ஒரு சிறிய கருவியை உருவாக்கினார்
எனது பரிசோதனையானது அவரது சோதனைகளுடன் ஒத்துப்போகிறது என்பதைக் காட்ட, எனது அளவீடுகளின் முடிவுகளும், ஃபாட்டினின் சில முடிவுகளும் இங்கே உள்ளன:
xterm மற்றும் mlterm போன்ற பழைய நிரல்களின் சிறந்த மறுமொழி நேரம் என்னைத் தாக்கிய முதல் விஷயம். மிக மோசமான பதிவு தாமதத்துடன் (2,4 ms), அவை அதிவேகமான நவீன முனையத்தை விட சிறப்பாக செயல்பட்டன (st க்கு 10,6 ms). எந்த நவீன முனையமும் 10 மில்லி வினாடி வரம்பிற்கு கீழே வராது. குறிப்பாக, 2017 இல் அதன் முதல் மதிப்பாய்வுக்குப் பிறகு அதன் மதிப்பெண்கள் மேம்பட்டிருந்தாலும், "வேகமான டெர்மினல் எமுலேட்டர் கிடைக்கும்" உரிமைகோரலை அலக்ரிட்டி சந்திக்கவில்லை. உண்மையில், திட்டத்தின் ஆசிரியர்கள்
இருப்பினும், வேறுபாடுகள் கண்ணுக்குத் தெரியவில்லை. ஃபாடின் விளக்குவது போல், "உங்கள் மீது தாக்கத்தை ஏற்படுத்த தாமதம் பற்றி நீங்கள் அறிந்திருக்க வேண்டியதில்லை." ஃபாடின் நிலையான விலகலைப் பற்றியும் எச்சரிக்கிறார்: "தாமதத்தில் ஏதேனும் இடையூறுகள் (நடுக்கம்) அவற்றின் கணிக்க முடியாததன் காரணமாக கூடுதல் அழுத்தத்தை உருவாக்குகின்றன."
மேலே உள்ள வரைபடம் தூய டெபியன் 9 (நீட்சி) உடன் எடுக்கப்பட்டது
ஸ்க்ரோல் வேகம்
அடுத்த சோதனையானது ஒரு பாரம்பரிய "வேகம்" அல்லது "பேண்ட்வித்" சோதனை ஆகும், இது திரையில் அதிக அளவு உரையைக் காண்பிக்கும் போது டெர்மினல் எவ்வளவு விரைவாக ஒரு பக்கத்தை உருட்ட முடியும் என்பதை அளவிடும். சோதனையின் இயக்கவியல் மாறுபடுகிறது; seq கட்டளையைப் பயன்படுத்தி ஒரே உரை சரத்தை உருவாக்குவதே அசல் சோதனை. மற்ற சோதனைகளில் தாமஸ் இ. டிக்கியின் (எக்ஸ்டெர்ம் பராமரிப்பாளர்) சோதனையும் அடங்கும், இது மீண்டும் மீண்டும்
rxvt மற்றும் st ஆகியவை போட்டிக்கு முன்னால் இழுக்கப்படுவதை இங்கே காண்கிறோம், அதைத் தொடர்ந்து மிகவும் புதிய Alacritty, செயல்திறனை மையமாகக் கொண்டு வடிவமைக்கப்பட்டுள்ளது. அடுத்ததாக Xfce (VTE குடும்பம்) மற்றும் Konsole ஆகியவை கிட்டத்தட்ட இரண்டு மடங்கு வேகமானவை. கடைசியாக xterm உள்ளது, இது rxvt ஐ விட ஐந்து மடங்கு மெதுவாக உள்ளது. சோதனையின் போது, xterm அதிகமாக அலையடித்தது, ஒரே வரியாக இருந்தாலும் உரையை அனுப்புவது கடினமாக இருந்தது. கான்சோல் வேகமாக இருந்தது, ஆனால் சில நேரங்களில் அது தந்திரமாக இருந்தது: காட்சி அவ்வப்போது உறைந்துவிடும், பகுதி உரையைக் காட்டும் அல்லது அதைக் காட்டவே இல்லை. st, Alacritty மற்றும் rxvt உட்பட பிற டெர்மினல்கள் சரங்களை தெளிவாகக் காட்டுகின்றன.
வெவ்வேறு டெர்மினல்களில் ஸ்க்ரோல் பஃபர்களின் வடிவமைப்பால் செயல்திறன் வேறுபாடுகள் ஏற்படுகின்றன என்று டிக்கி விளக்குகிறார். குறிப்பாக, rxvt மற்றும் பிற டெர்மினல்கள் "பொது விதிகளைப் பின்பற்றவில்லை" என்று அவர் குற்றம் சாட்டினார்:
“xterm போலல்லாமல், rxvt அனைத்து புதுப்பிப்புகளையும் காட்ட முயற்சிக்கவில்லை. அது பின்தங்கியிருந்தால், அதைப் பிடிக்க சில புதுப்பிப்புகளை அது மறுத்துவிடும். இது உள் நினைவக அமைப்பை விட வெளிப்படையான ஸ்க்ரோலிங் வேகத்தில் அதிக தாக்கத்தை ஏற்படுத்தியது. ஒரு குறை என்னவென்றால், ASCII அனிமேஷன் ஓரளவு துல்லியமாக இருந்தது."
இந்த உணரப்பட்ட xterm மந்தநிலையை சரிசெய்ய, டிக்கி வளத்தைப் பயன்படுத்த பரிந்துரைக்கிறார்
வள நுகர்வு
ஸ்க்ரோலிங் வேகத்தை செயல்திறன் அளவீடாகக் கருதுவது அர்த்தமுள்ளதா என்பதைப் பொருட்படுத்தாமல், டெர்மினல்களில் உள்ள சுமையை உருவகப்படுத்த இந்த சோதனை அனுமதிக்கிறது, இது நினைவகம் அல்லது வட்டு பயன்பாடு போன்ற பிற அளவுருக்களை அளவிட அனுமதிக்கிறது. குறிப்பிட்ட சோதனையை இயக்குவதன் மூலம் அளவீடுகள் பெறப்பட்டன தொடர் பைதான் செயல்முறை கண்காணிப்பின் கீழ். மீட்டர் தரவுகளை சேகரித்தார்
இந்த சோதனையில், ST 8 MB இன் மிகக் குறைந்த சராசரி நினைவக நுகர்வுடன் முதல் இடத்தைப் பிடித்தது, இது வடிவமைப்பின் முக்கிய யோசனை எளிமையாக இருப்பதைக் கருத்தில் கொண்டு ஆச்சரியப்படுவதற்கில்லை. mlterm, xterm மற்றும் rxvt ஆகியவை இன்னும் கொஞ்சம் அதிகமாக உட்கொள்ளும் - சுமார் 12 MB. மற்றொரு குறிப்பிடத்தக்க முடிவு அலாக்ரிட்டி, இது இயங்குவதற்கு 30 எம்பி தேவைப்படுகிறது. பின்னர் VTE குடும்பத்தின் டெர்மினல்கள் 40 முதல் 60 MB வரையிலான புள்ளிவிவரங்கள் உள்ளன, இது நிறைய உள்ளது. இந்த டெர்மினல்கள் உயர்-நிலை நூலகங்களைப் பயன்படுத்துகின்றன என்பதன் மூலம் இந்த நுகர்வு விளக்கப்படலாம், எடுத்துக்காட்டாக, ஜிடிகே. Konsole சோதனைகளின் போது 65MB நினைவக நுகர்வுடன் கடைசியாக வருகிறது, இருப்பினும் இது அதன் பரந்த அளவிலான அம்சங்களால் நியாயப்படுத்தப்படலாம்.
பத்து ஆண்டுகளுக்கு முன்பு பெறப்பட்ட முந்தைய முடிவுகளுடன் ஒப்பிடுகையில், எல்லா நிரல்களும் குறிப்பிடத்தக்க வகையில் அதிக நினைவகத்தைப் பயன்படுத்தத் தொடங்கின. Xterm க்கு 4 MB தேவைப்படும், ஆனால் இப்போது தொடக்கத்தில் 15 MB தேவைப்படுகிறது. rxvt இன் நுகர்வில் இதேபோன்ற அதிகரிப்பு உள்ளது, இதற்கு இப்போது பெட்டியிலிருந்து 16 MB தேவைப்படுகிறது. Xfce டெர்மினல் 34 MB ஐ எடுக்கும், இது முன்பை விட மூன்று மடங்கு பெரியது, ஆனால் GNOME டெர்மினலுக்கு 20 MB மட்டுமே தேவைப்படுகிறது. நிச்சயமாக, முந்தைய அனைத்து சோதனைகளும் 32-பிட் கட்டமைப்பில் மேற்கொள்ளப்பட்டன. LCA 2012 ரஸ்டி ரஸ்ஸல்
இருப்பினும், டெர்மினல் போன்ற அடிப்படையான ஒன்றிற்கு அதிக நினைவகத்தை ஒதுக்குவது வளங்களை வீணடிப்பதாக என்னால் உணர முடியவில்லை. இந்த புரோகிராம்கள் மிகச் சிறியவற்றில் மிகச் சிறியதாக இருக்க வேண்டும், எந்த ஒரு “பெட்டியிலும்”, ஷூ பாக்ஸில் கூட இயங்கக்கூடியதாக இருக்க வேண்டும், நாம் எப்போதாவது அவை லினக்ஸ் அமைப்புகளுடன் பொருத்தப்பட வேண்டிய நிலைக்கு வந்தால் (அது அப்படியே இருக்கும் என்பது உங்களுக்குத் தெரியும். ) . ஆனால் இந்த எண்கள் மூலம், எதிர்காலத்தில் நினைவகப் பயன்பாடு ஒரு சிக்கலாகிவிடும் இதை ஈடுசெய்ய, GNOME Terminal, Konsole, urxvt, Terminator மற்றும் Xfce டெர்மினல் ஆகியவை டீமான் பயன்முறையைக் கொண்டுள்ளன, இது ஒரு செயல்முறையின் மூலம் பல டெர்மினல்களைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது, அவற்றின் நினைவக நுகர்வுகளைக் கட்டுப்படுத்துகிறது.
எனது சோதனைகளின் போது, டிஸ்க் ரீட்-ரைட் தொடர்பான மற்றொரு எதிர்பாராத முடிவுக்கு வந்தேன்: இங்கே எதையும் பார்க்க முடியாது என்று நான் எதிர்பார்த்தேன், ஆனால் சில டெர்மினல்கள் வட்டில் அதிக அளவு தரவை எழுதுகின்றன. எனவே, VTE நூலகம் உண்மையில் ஒரு உருள் இடையகத்தை வட்டில் வைத்திருக்கிறது (இந்த அம்சம்
முடிவுக்கு
கட்டுரையின் முதல் பகுதியில், VTE- அடிப்படையிலான டெர்மினல்கள் நல்ல அம்சங்களைக் கொண்டிருப்பதைக் கண்டறிந்தோம், ஆனால் இப்போது இது சில செயல்திறன் செலவுகளுடன் வருகிறது. அனைத்து VTE டெர்மினல்களையும் டீமான் செயல்முறை மூலம் கட்டுப்படுத்த முடியும் என்பதால் இப்போது நினைவகம் ஒரு பிரச்சினை அல்ல, இது அவர்களின் பசியை கட்டுப்படுத்துகிறது. இருப்பினும், ரேம் மற்றும் கர்னல் பஃபர்களின் அளவுகளில் இயற்பியல் வரம்புகளைக் கொண்ட பழைய அமைப்புகளுக்கு டெர்மினல்களின் முந்தைய பதிப்புகள் இன்னும் தேவைப்படலாம், ஏனெனில் அவை கணிசமாக குறைவான வளங்களையே பயன்படுத்துகின்றன. செயல்திறன் (ஸ்க்ரோலிங்) சோதனைகளில் VTE டெர்மினல்கள் சிறப்பாக செயல்பட்டாலும், அவற்றின் காட்சி தாமதமானது க்னோம் பயனர் கையேட்டில் அமைக்கப்பட்டுள்ள வரம்புக்கு மேல் உள்ளது. VTE டெவலப்பர்கள் இதை கணக்கில் எடுத்துக்கொள்ள வேண்டும். புதிய லினக்ஸ் பயனர்களுக்கு கூட டெர்மினலை எதிர்கொள்வது தவிர்க்க முடியாதது என்பதை நாம் கணக்கில் எடுத்துக் கொண்டால், அவர்கள் அதை மிகவும் பயனர் நட்பாக மாற்ற முடியும். அனுபவம் வாய்ந்த அழகற்றவர்களுக்கு, இயல்புநிலை டெர்மினலில் இருந்து மாறுவது குறைவான கண் சிரமத்தையும், நீண்ட வேலை அமர்வுகள் காரணமாக எதிர்காலத்தில் வேலை தொடர்பான காயங்கள் மற்றும் நோய்களைத் தவிர்க்கும் திறனையும் குறிக்கலாம். துரதிர்ஷ்டவசமாக, பழைய xterm மற்றும் mlterm மட்டுமே நம்மை 10 மில்லி விநாடிகளின் மேஜிக் பிங் வாசலுக்குக் கொண்டு வருகின்றன, இது பலரால் ஏற்றுக்கொள்ள முடியாதது.
பெஞ்ச்மார்க் அளவீடுகள் லினக்ஸ் வரைகலை சூழல்களின் வளர்ச்சியின் காரணமாக, டெவலப்பர்கள் பல சமரசங்களைச் செய்ய வேண்டியிருந்தது. சில பயனர்கள் வழக்கமான சாளர மேலாளர்களைப் பார்க்க விரும்பலாம், ஏனெனில் அவை குறிப்பிடத்தக்க பிங் குறைப்பை வழங்குகின்றன. துரதிருஷ்டவசமாக, Wayland க்கான தாமதத்தை அளவிட முடியவில்லை: நான் பயன்படுத்திய டைபோமீட்டர் நிரல், Wayland தடுக்க வடிவமைக்கப்பட்டுள்ளதற்காக உருவாக்கப்பட்டது: மற்ற ஜன்னல்களில் உளவு பார்த்தல். X.org ஐ விட Wayland கம்போசிட்டிங் சிறப்பாக செயல்படும் என்று நம்புகிறேன், மேலும் எதிர்காலத்தில் யாராவது இந்த சூழலில் தாமதத்தை அளவிடுவதற்கான வழியைக் கண்டுபிடிப்பார்கள் என்று நம்புகிறேன்.
ஆதாரம்: www.habr.com