Leaves are turning. Temperatures have dipped. These are sure signs—if you live in the Northern Hemisphere, at least—that Canonical's Autumn release is upon us. Things are a bit different in 2019, however. Not only is Ubuntu 19.10 nicknamed Eoan Ermine (no, I don't know how you pronounce it either), but it's the best non-LTS Ubuntu release Canonical has ever put out.

I should qualify that statement somewhat, because really, as the newest version, it had damn well better be the best Ubuntu ever. But there's more than recency bias behind the sentiment. I've been reviewing Ubuntu for 10 years now, and I was using and interacting with this distro in some form or another for another three or four years before that. After spending recent weeks with Ubuntu 19.10, I can say confidently it is quite simply the best Ubuntu Canonical has ever released.

The first reason I like 19.10 so much is that it feels insanely fast. Everyday tasks like opening applications, dragging windows, activating the search interface, and even just moving the cursor around are all noticeably faster than in 19.04. The speed boost is immediately noticeable from the minute you pop in the live CD, and it's even faster once you have 19.10 installed.

I happened to be testing a top-of-the-line MacBook around the time I first installed the 19.10 beta on my aging Lenovo x240, and it instantly made the Mac feel like a sloth. Ubuntu 19.10 ran circles around the Mac even on much, much less powerful hardware, and nothing says success during testing like software that makes old hardware feel newer. Even if that were all you got out of Ubuntu 19.10, I'd call it a win.

But as is typical of Ubuntu's October release, a number of new features that are not quite ready for prime time yet show considerable promise—those features include support for the ZFS file system. While still clearly labelled "experimental" (in all caps even), I have not had problems running 19.10 on a root partition formatted with ZFS. That's not to say that you should go try it—it is EXPERIMENTAL, after all—but it appears that what's really lacking are tools for managing and working with ZFS. Using ZFS enables some powerful backup and replication possibilities, but the tools for working with ZFS in Ubuntu remain somewhat limited for now.

But talk of the extra features can wait. Ubuntu 19.10 is so fast, it's worth digging deeper into the speed improvements and what's going on under the hood.

Like GNOME, but fast

Most improvements in 19.10 can be attributed to the latest release of GNOME 3.34, the default desktop for Ubuntu. However, GNOME 3.34 is faster largely because of work Canonical engineers put in. (As an aside, I think the current state of GNOME and the work Canonical has done to make it better are the best argument around for why Canonical made the right call when it shut down Unity.)

If you'd like to understand the finer details of what Canonical did to improve GNOME and how it did it, there's a post over on the Ubuntu Discourse board that goes into considerable detail. The biggest takeaway is that Canonical's engineers looked not for the typical "hot spots," places RAM or CPU usage spiked, but what it calls "cold spots." It wanted to find places where GNOME "was idle instead of updating the screen smoothly."

Canonical developers identified a bunch of places where this was happening. The three that jumped out at me are improvements to how Mutter refreshes, changes that transferred some work from the GPU back to the CPU, and a fix to frame lagging in Xorg. The latter is interesting because one of the things that I noticed in this release is that GNOME under Wayland did not feel dramatically faster than under Xorg the way it did for me in 19.04. I quickly lost my Wayland envy with the speed improvements in this release.

Canonical's write-up of the work done to improve GNOME is also interesting for the long list of what didn't work and how wrong some of the developers' initial assumptions were—especially regarding GNOME's use of JavaScript. It turns out JavaScript had next to no effect on performance. So sorry JavaScript haters, but "assuming that JavaScript is slower than everything else written in C" is evidently a bad assumption.

Canonical is not done improving GNOME. The project's goal for the next release is better performance on faster, modern hardware. Then in 20.10, it wants to improve performance on older, slower machines. As Canonical's Daniel Van Vugt puts it, "the future of Gnome Shell is bright and worth getting excited about."

But let's not get too far ahead of ourselves, because even the present is pretty bright. As primarily an i3 user, I still find GNOME Shell overkill, but in 19.10 it's fast enough that I no longer rush to uninstall it.

Listing image by Canonical / Linux