Το Alacritty είναι ο ταχύτερος εξομοιωτής τερματικού που υπάρχει. Η χρήση της GPU (κάρτας γραφικών) για το rendering του περιβάλλοντος του, επιτρέπει βελτιστοποιήσεις που απλά δεν είναι δυνατές με την CPU (επεξεργαστή). Ας δούμε όμως πως γιατί γίνεται αυτό.

Πέρα από ανάγκη (όπως είχαμε αναλύσει στο Τερματικό του Linux: Γιατί υπάρχει ακόμα και σήμερα), η ευκολία με την οποία κάνεις κάποιες διαχειριστικές δουλειές στο τερματικό είναι μακράν ταχύτερες από το να τις κάνεις με κλικ εδώ και εκεί. Αν δεν ίσχυε αυτό που λέω, τότε η Microsoft δεν θα έγραφε εν έτη 2019, από την αρχή το Windows Τερματικό.

Αφού λοιπόν είσαι από αυτούς που χρησιμοποιούν τερματικό τουλάχιστον μια φόρα την ημέρα, θες το περιβάλλον του (αυτό που λέμε εξομοιωτής) να είναι ταχύτατο. Τα σημερινά τερματικά, χρησιμοποιούν κατά κόρον τον επεξεργαστή για να σχεδιάσουν το παράθυρο και τα στοιχεία του.

Εδώ λοιπόν έρχεται το Alacritty και αντί να χρησιμοποιεί τον επεξεργαστή μας, χρησιμοποιεί την κάρτα γραφικών οι οποία ως γνωστόν είναι κατασκευασμένη για να «σχεδιάζει πράγματα» στην οθόνη μας. Είναι γραμμένο στην γλώσσα Rust και χρησιμοποιεί το OpenGL για απόδοση γραφικών.

Αν δεν το έχετε καταλάβει, πλέον αρκετές εφαρμογές (π.χ. Google Chrome, Firefox, Brave κ.α.) χρησιμοποιούν εδώ και καιρό την κάρτα γραφικών για επιτάχυνση και σχεδιασμό στην οθόνη του υπολογιστή σας, των ιστοσελίδων που επισκέπτεστε .

Ας δούμε όμως με παράδειγμα, τις επιδόσεις του σε σχέση με άλλα γνωστά τερματικά όταν προβάλει τα περιεχόμενα αρχείου txt των 100MB μέσα στο τερματικό:

Επιδόσεις του Alacritty τερματικού σε σχέση με GNOME terminal, Konsole και άλλα
Το Alacritty είναι ταχύτατο στην προβολή περιεχομένων σε σχέση με άλλα τερματικά
(image credit: linuxlinks.com)

Όπως βλέπετε από την παραπάνω εικόνα το Alacritty ολοκληρώνει τη δοκιμασία με τον ταχύτερο χρόνο ενώ είναι περίπου δύο φορές γρηγορότερο ακόμα και από το Kitty, έναν άλλο εξομοιωτή τερματικού που χρησιμοποιεί GPU. Επίσης, όπως είναι λογικό οι περισσότεροι εξομοιωτές τερματικού στην παραπάνω δοκιμασία επειδή δεν χρησιμοποιούν GPU καθυστερούν περισσότερο στη δοκιμή, αν και υπάρχουν μερικές αξιοσημείωτες εξαιρέσεις (π.χ το urxtv).

Με τους ίδιους εξομοιωτές τερματικών, ας δούμε πόση μνήμη καταναλώνει ο κάθε εξομοιωτής κατά την εκκίνηση τους:

Κατανάλωση RAM του Alacritty τερματικού σε σχέση με GNOME terminal, Konsole και άλλα
Κατανάλωση RAM του Alacritty (~ 60ΜΒ)
(image credit: linuxlinks.com)

Το Alacritty καταναλώνει την περισσότερη μνήμη επειδή η προεπιλεγμένη εγκατάσταση ορίζει την προσωρινή μνήμη αποθήκευσης να κρατάει 10.000 γραμμές. Μπορείτε φυσικά να μειώσετε την κατανάλωση μνήμης του Alacritty, μειώνοντας τον αριθμό των γραμμών κύλισης. Σε ιδανική περίπτωση, θα θέλαμε να δούμε τη δυναμική κατανομή της μνήμης, καθώς μπορεί να είναι χρήσιμο ένα μεγάλο buffer γραμμών κύλισης σε ορισμένες περιπτώσεις ενώ ελαχιστοποιείται την κατανάλωση μνήμης.

Να χρησιμοποιήσω Alacritty αντί του…

Ωραίες οι επιδόσεις, αλλά είναι χρήσιμο για όλους; Μπορούμε δηλαδή να κάνουμε την δουλειά μας με αυτό αντί με το τερματικό που έρχεται προεγκατεστημένο με την Linux διανομή μας; Η σύντομη απάντηση είναι ΝΑΙ

Αν όμως χρειάζεστε καρτέλες, τότε δεν σας κάνει μιας και δεν διαθέτει αυτή την δυνατότητα. Αν όμως δεν σας πειράζει να ανοίγετε πολλαπλά Alacritty τότε κανένα πρόβλημα.

Γενικά να θυμάστε ότι το Alacritty είναι ένα τερματικό με μεγάλη έμφαση στην απλότητα και την απόδοση. Έχει τέτοια εμμονή στην απόδοση, με αποτέλεσμα τα χαρακτηριστικά που συμπεριλαμβάνονται, επιλέγονται προσεκτικά και άρα θα είστε πάντα σίγουροι ότι ο Alacritty θα είναι απίστευτα γρήγορος. Έχοντας εξαρχής σωστές προεπιλογές, το Alacritty δεν απαιτεί πρόσθετη ρύθμιση. Ωστόσο, επιτρέπει τη διαμόρφωση πολλών πτυχών του μέσω του αρχείου ρυθμίσεων :

nano ~/.config/alacritty/alacritty.yml

Το Alacritty θεωρείται από τους προγραμματιστές του ότι είναι σε επίπεδο beta μιας και υπάρχουν μερικά μικρά χαρακτηριστικά που λείπουν και σφάλματα που πρέπει να διορθωθούν. Παρόλα αυτά χρησιμοποιείται ήδη από πολλούς ως βασικό λογισμικό τερματικού.

Εγκατάσταση Alacritty στο Linux, macOS και Windows

Arch Linux:

pacman -S alacritty

Fedora:
Unofficial παλέτα είναι διαθέσιμα στο Fedora Copr: pschyska/alacritty.

dnf copr enable pschyska/alacritty
dnf install alacritty

openSUSE Tumbleweed:

zypper in alacritty

Ubuntu:

sudo add-apt-repository ppa:mmstick76/alacritty
sudo apt install alacritty

macOS:

brew cask install alacritty

Windows:

Μέσω του Chocolatey (αν δεν το έχετε το Chocalatey είστε εγκληματίες!)

choco install alacritty

Για περισσότερες μορφές πακέτων δείτε την επίσημη σελίδα : https://github.com/jwilm/alacritty/releases

Επίλογος

Προσωπικά, πλέον χρησιμοποιώ αποκλειστικά το Alacritty μιας και δεν με ενδιαφέρουν τα μπλιμπλικια και τα τρομερά χαρακτηριστικά αλλά οι επιδόσεις.

Κάνω κλικ, ανοίγει αστραπιαία, κάνω την δουλειά μου χωρίς να lagαρει, το κλείνω και τέλος. Αν χρειαστώ καρτέλες, προτιμώ να ξεκινάω μέσα στο Alacritty συνεδρίες με tmux. Σε συνδυασμό δε με το ZSH, είναι απλό λιτό και ταχύτατο.

Παραπομπές: