Updated: May 27, 2011
In my Natty review, I did mention that boot times seem to have changed considerably compared to previous versions of the distro. In other words, they got longer, which is kind of surprising as the desktop is quite fast and snappy. I had no numbers to quantify my feeling then, but now I do. Using Bootchart, I profiled the boot times on Natty. So let's see what happens. Moreover, we'll check if there's anything we can do to make things better.
Before we take a look at Natty, let's see what we had in the past. With Lucid, testing on three machines, T42, T60 and RD510, I managed 27, 15, and 26 seconds, respectively. On my HP machine with a 7,200rpm disk, the boot time is about 17 seconds. On a laptop with SSD and running Maverick, the boot time ranged between eight and nine seconds, which is quite reasonable overall. All right, let's see what happens with Natty.
So far, I have Natty installed on a single test machine, T60 with a 32-bit dual-core processor, 2GB RAM and a 5,400rpm disk. I do admit that testing just one case is hardly scientific, accurate or representative, but given a fairly linear ratio between T60 and other machines and rather consistent results in the past, we can assume that whatever we see on this host is indicative of the change overall.
After several boots, allowing for ureadahead to do its magic and optimize the boot sequence properly and before running a manual profiling, we have the following result:
The boot time is approx. 26 seconds. The initial profiling took about 45 seconds. Overall, waiting 30 seconds for your desktop to come up is not a big deal, but it's almost 100% penalty compared to just the previous release, so it is kind of a big deal.
Unconvinced that ureadahead has done its best to optimize the boot, I decided to make a small change in the GRUB2 options, to see whether I could make up for anything the software could not.
You can find more information in this Ubuntu forums post.
On GRUB2, if you do not feel like editing the boot options directly when the boot menu comes up, you can go the hard way of changing the GRUB default file, updating GRUB, rebooting, then removing the option and updating GRUB again.
Essentially, in /etc/default/grub, change the GRUB commandline default from:
To the following:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
Update GRUB. Reboot. This will run a manual profiling of the boot sequence. This kind of thing normally happens any time you update your kernel or initrd and similar. Moreover, the distro should take care of the profiling on its own, so you don't need to make any changes.
Now, I was skeptical about any improvements, but it would have nagged my soul forever had I not done this. Indeed, after the subsequent reboots, there's an additional Bootchart ready, and it shows exactly the same:
Manual re-profiling did not help. In my case, on T60, 26 seconds is about as good as it gets, which is a world more than what we had previously. A 75% degradation in boot times compared to stock Ubuntu graced with non-Unity desktops.
One could argue that boot times are insignificant, especially if you rarely, if ever reboot your machine. That is quite true, however, given the fairly aggressive Ubuntu insistence on breaking the 10-second barrier, this direction is puzzling. It's quite possible that it is not intentional; it might be a byproduct of the new desktop or something. But it sure does not align with the speed and performance marketing slogans.
While I have to extend my tests to additional platforms to make a more accurate assessment, it seems that Natty has seen a major regression in the boot performance. Luckily, the desktop experience remains unsullied. Let's hope, for the sake of future generations, that this is not a beginning of a new bloat trend.