The results are consistent throughout. There must be some simple explanation.
Phoronix: Fedora 18 Fails At ARM Wrestling Arch, Ubuntu, Linaro
Fedora 18 was officially released this week for x86/x86_64, but the ARM version of Fedora 18 "Spherical Cow" is still under development. Fedora 18 for ARM went into beta last week and since then benchmarks were carried out comparing Spherical Cow on ARM to other popular ARM Linux distributions.
http://www.phoronix.com/vr.php?view=18389
The results are consistent throughout. There must be some simple explanation.
Interesting. So Ubuntu on the Nexus does make sense then, it's performance is not the worst it could be.
In all likelihood, there are many little tweaks that are collectively responsible. If I had to guess, I would assume that Ubuntu inherited the Linaro improvements. I would expect Linaro to focus in these core areas:
- Patching code to remove the necessity of -fno-strict-aliasing. This uses a clever hack to avoid the need for the compiler to deliberately generate slow code because of the pointer aliasing problem. This is moderately difficult to do in userland and a nightmare to do in the kernel.
- Link Time Optimization. This enables interprocedural optimizations to be done accross all code in use by a program, which is an area where there is a fair amount of overhead to shave. I have heard of Gentoo users attempting it in userland with a fair degree of success. There was a report of this being done in the kernel, which should provide a fairly significant performance gain in some workloads. I would not be surprised if this technique has been deployed by Linaro, with Ubuntu inheriting it.
- Improved compiler optimization passes. This can yield system-wide improvements, but is very difficult to do well. I know that Linaro does these and has gained at least a small performance boost from it in the past. As far as I know, upstream GCC can be slow at merging such improvements. That is likely because deciding what changes are good and what are bad is fairly difficult problem. No one cares how fast binaries are if they segfault.
- Cacheline optimizations. This can prevent page faults that require expensive trips to memory. The main place to do this would be in libc's malloc, but there are some other places where this can be done.
If Michael wanted to analyze the reason why Ubuntu seems to outperform Fedora in every situations, he could run benchmaks in the following chroot environments:
- A Ubuntu chroot on Ubuntu
- A Fedora chroot on Ubuntu
- A Ubuntu chroot on Fedora.
- A Fedora chroot on Fedora
That would isolate the kernel from the userland and help narrow where to look for the origin of these improvements. However, I do not expect this to happen. That would mean doing the analysis necessary to make the information in his benchmarks useful by explaining why it is the way it is and how it can improve, which Michael never does. That is a shame because some of the investigations that Michael could be doing would inform users of tweaks that could be beneficial. The most obvious of which is setting Nouveau to run GPUs at stock clocks instead of the lowest speed setting when playing games.
Last edited by ryao; 01-20-2013 at 11:03 AM.
He does accept guest articles, if you were to perform such analysis![]()
Your post above suggests you want to see the results of such analysis. Is that not a reason to want do to it?