A GPU-accelerated terminal emulator? Why!?

A GPU-accelerated terminal emulator? Why!?

My terminal has be extremely slow lately. Every few minutes, it will hang – just slightly. The lag is like a cheese grater on my mind, distracting me and pulling me out of the zone. Pasting large text or opening large files slows the entire terminal down to a crawl, and I often give up and distract myself with optimization research. My productivity feels hamstrung.

I decided it was time to explore alternatives to my setup, which is typically ITerm2, Vim, and tmux. I didn't want to switch to another text editor, but I was willing to place my whole setup on the table for a chance at a faster experience. I tried out several alternatives, but nothing was jelling. I almost resigned to my fate.

I stumbled across a new project called Alacritty, which bills itself as a "cross-platform, GPU-accelerated terminal emulator" written in Rust. I decided to give it a try, and it really changed my life.

Obligatory screenshot, via jwilm/alacritty

First off, the project is in beta, so there are some missing features in relation to other terminal emulators. The project is also committed to keeping the codebase as lean as possible, so they aren't going to implement certain kinds of features.

However, the speed – the speed is insane. You can read more about how and why Alacritty is fast, but the short version: ~500 frames per second thanks to OpenGL; intelligent budgeting of paint time vs. parse time to allow for parsing huge (GB-sized) files; and no frames are drawn except when state changes. This adds up to a super-fast, battery-friendly emulator that supports large files and works on (almost) every platform.

I've been using Alacritty as my daily-driver for the past week, and I can't say enough about how much it's improved my mental state and my productivity. I got so inspired that I automated a couple other productivity glitches. I rebuilt my tmux environment. I pushed more code than the previous two weeks combined. I felt like dancing.

Of course, this is still in beta. There's a few hiccups. Some less-common applications don't render correctly. Your system might not like OpenGL. Font's don't look quite as pretty on macos. You can't full-screen in Linux. If these are deal-breakers, then wait a year or so and the project will probably have matured to your liking – better yet, take the opportunity to learn Rust and start contributing to the easy help-wanted issues.

The bottom line: a fast terminal will make you feel invincible, and Alacritty might be the best one to try right now.