It has been said that Firefox 6 will perform better than previous version because it compiles with a newer version of GCC, version 4.5, and aggressive optimization.

When I updated to Firefox 6 in Natty I read the changelog and wondered whether Firefox 6 really would perform better than previous version in Ubuntu because one item in the changelog read (the changelog can be read via apt-get changelog firefox):

Unconditionally build with --disable-elf-hack. It's basically a noop on Ubuntu, as we don't get any of the nice space saving and startup time improvements that upstream builds get with it. Enabling it is problematic (it fails to build on all architectures in Ubuntu from Firefox 7 onwards, and is already problematic on armel when building on older Ubuntu versions)

What does this mean? Does it mean that Firefox 6 performance worse in Ubuntu than upstream?

  • 1
    AFAIK -O3 and --disable-elf-hack are completely different. -O3 tries hard to optimize the instructions where --disable-elf-hack looks like disabling something which should decrease the binary size and thereby saving a few milliseconds. – Lekensteyn Aug 17 '11 at 8:54
  • @Lekensteyn What you mean by "saving a few milliseconds"? In build time, startup time or application performance? – N.N. Aug 17 '11 at 8:58
  • 1
    In startup time because a smaller image needs to be loaded into memory. – Lekensteyn Aug 17 '11 at 9:37
  • 1
    It seems that only affects the size of the file you need to download and Firefox startup time. – lovinglinux Aug 17 '11 at 17:27

See here for an explanation of the term "elf-hack". It's basically a compile-time linker optimisation.

In the last blog post from that link, JavaScript performance on the dromaeo benchmark is shown to be 0.6% better when firefox is compiled with the elf-hack.

So no, you won't notice any difference in regular use. Improvements in gcc will probably allow use of the 'elf-hack' in 11.10+ anyway.

|improve this answer|||||
  • 1
    What is regular use and what is not? – N.N. Aug 26 '11 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.