Benchmarking Ubuntu's lpia Build
As the new owner of a Dell Latitude 2100 netbook, I’m eager to get as much performance out of my little machine as possible. One of the most pressing issues in my life over the last week, therefore, has been to decide whether to use the i386 or lpia build of Ubuntu on my new computer. Here’s the decision I came to, and why.
Unlike Windows, Ubuntu can be easily optimized for different hardware platforms, thanks to the openness of its code. This is theoretically one of Ubuntu’s strengths in a market where consumer-class processors are diversifying again, for the first time in a decade, on new genres of devices like netbooks and MIDs.
For a while, Canonical tried to play on this strength by offering a version of Ubuntu customized for the Atom processor, which is found in many (but not all) netbooks. While the Atom can run the generic i386 build of Ubuntu, compile-time optimizations for lpia (low-power Intel architecture, which includes the Atom) chips can in theory provide some boosts in CPU performance and battery life.
After providing lpia releases of Ubuntu since 7.10, however, Canonical announced last November that it would discontinue the lpia build after Ubuntu 9.10. The decision was made because most users were reporting only marginal performance benefits from lpia, while maintaining packages for that architecture increased the burden on Ubuntu’s staff and volunteers. After next April, owners of Atom-based netbooks will have to switch to the i386 version of Ubuntu if they want to stay up-to-date.
Despite this news, I was determined after receiving my netbook to install whichever version of Ubuntu is going to provide the best performance, regardless of whether it would be officially supported in the future. As a thumb drive-carrying geek, I’d be willing to build my own lpia kernels if I thought they would shave a few seconds off of running aircrack or compiling code.
Unfortunately, it turns they probably don’t.
Benchmarking lpia
To figure out whether using software optimized for lpia rather than i386 was worth it, I ran some benchmarks. These involved compiling a kernel, testing graphics performance with gtkperf (not exactly a CPU-intensive operation, but it didn’t hurt to test in case there was a difference) and measuring battery drain time. I performed the tests on the official i386 and lpia releases of Ubuntu 9.10, installed to hard disk.
For the i386 version of Ubuntu, the results were as follows:
- kernel build: 239 minutes 16.435 seconds
- gtkperf: 25.2 seconds to run all tests
- battery: lost 14% charge with the system idling for one hour
On lpia, the numbers were:
- kernel build: 225 minutes 56.924 seconds
- gtkperf: 24.93 seconds
- battery: lost 15% charge while the system idled for one hour
The numbers reveal, pretty clearly, that users who reported insignificant performance differences using the lpia build were right. I saw about a 6% improvement in the CPU-intensive task of building a kernel, but the gtkperf results were almost identical on the two architectures (which was to be expected, since gtkperf has more to do with video performance than the processor, but I threw it in for good measure).
Moreover, battery performance was actually worse on lpia than on i386, even though in principle it should have been up to 10% better. (In retrospect, perhaps I should have measured battery drain time while the CPU was doing something, rather than letting it idle, to see where lpia would pay off.)
Granted, none of my benchmarks was overly scientific. I did my best to standardize testing conditions–everything was run on a cleanly installed system after a fresh reboot, and no other applications were open–but in the absence of unlimited free time, I could only do so much. I also ran each test only once, so have little basis for determining the statistical significance of the numbers.
Nonetheless, it seems likely, based on the findings as well as those of others, that if lpia provides any performance increase in practice, it’s quite minimal and may be offset by worse performance in other areas, like battery charge.
Given this conclusion, and the fact that Canonical will soon cease providing lpia support for new Ubuntu releases, it makes most sense for me to stick to the generic i386 flavor of the operating system. Those even geekier than I might still find some value in compiling their own lpia systems in order to squeeze out every last bit of performance from their Atom processors, but chances are most of those people have already forsworn Ubuntu in favor of Gentoo or some other such DIY extravaganza.
Hi, I am a regular reader of your blog and I love it. Anyway, on the topic of using an optimized OS build, I feel that Fedora 12 works better for non-64 bit CPUs.
Now, don’t get me wrong, I love Ubuntu more than Fedora (I run Ubuntu 9.10 64-bit on my main machine, a Dell Studio XPS 13). It’s just that I have a Kohjinsha SH8 UMPC with a 800MHz Intel A110 processor, thus a highly optimized OS is important to me.
I have not done any benchmarking with it, but while playing Xmoto (a 2D physics motorbike game) in Ubuntu, I need to lower my graphics setting in order to get a smooth framerate. In Fedora 12 however, I can max out the graphics settings AND still get smoother framerates.
I suspect that this could be due to Ubuntu 9.10 being compiled for i386 architecture and Fedora 12 being compiled for i686 architecture. So, I think, in theory, Fedora 12 works better than Ubuntu 9.10 for non-64 bit CPUs. That’s why I am using Fedora for my UMPC.
Btw, Im just speaking from my experience, please correct me if I am wrong.
I love your blog, keep up the good work! =)
Hi All
A couple points. first: I find the Phoronix Test Suite ideal for benchmarking. The other, is that the main drawback of lpia is that you can’t mix i386 packages (well, you can but it is tricky, there are lots of posts on the net for that). This is very inconvenient when you try to install packages compiled for i386 by 3rd parties (that is, packages not present in the repositories).
Thanks for the benchmarks!
Ubuntu Fedora user: good point about the i686 vs. i386 kernels. When I used Fedora (in the FC6 era), I remember there being a bug with the installer where it gave me the i586 kernel instead of i686. When I fixed that, I did seem to notice a performance improvement, although I didn’t actually measure anything so it could have been in my head.
I’d think that framerates would have more to do with your video driver than your CPU and kernel architecture, but with a 2D game that may not be so true.
Thanks for the comment and glad you enjoy the blog!
Leo: thanks for the tip on the Phoronix suite. I didn’t realize they allowed the public to use that. As for the lpia package issue, I read a lot about that being a problem in earlier versions of Ubuntu because the lpia repositories were pretty lean. In 9.10, I didn’t find that to be an issue–every application I wanted was available–but I could certainly imagine it being a problem for some people, especially with third-party software.
Also, a point of note related to this is that the build of OpenOffice that ships with the lpia version of Ubuntu 9.10 was really crude and lacked some features, even though it was the same version as in i386 Ubuntu. I didn’t look into this, but it does seem to be an example of the difficulties associated with finding good applications build for lpia.
[…] http://www.workswithu.com/2010/01/05/benchmarking-ubuntus-lpia-build/ As the new owner of a Dell Latitude 2100 netbook, I’m eager to get as much performance out of my little machine as possible. One of the most pressing issues in my life over the last week, therefore, has been to decide whether to use the i386 or lpia build of Ubuntu on my new computer. Here’s the decision I came to, and why. […]
Fedora user- thanks for that useful info!
Nice article, and love your blog 🙂
[…] Board electionAn Interview With Paultag WorksWithUReview: Ubuntu on the Latitude 2100 NetbookBenchmarking Ubuntu’s lpia BuildBuying a Dell Ubuntu Netbook UbuntuGeekUbuntu Tweak 0.5.0 releasediPhone Tethering on Ubuntu 9.10 […]