Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

Firefox in linux - intel optimized....

triplesquarednine
422 Views

hello,

this isn't so much a how to, as it is just me verifying how wonderful Intel's compilers really are!

for my first project after installing ICC and ifort i decided i wanted to compile firefox using the intel C++ compiler....i am running fedora 12 on my one box, but i also use win7, MacOSX and gentoo...

1st off... I am blown away by the speed increases. firefox used to start up with a bit of a delay. that delay no longer exists, i click on it's icon and it opens! :)

2nd... everything in firefox is now snappy - clicking on menus, checking compatibility(i run more than one Firefox) and the "intel firefox" does everything much faster, and it is so obvious!! :)

3rd. i thought why stop here? so i setup a persistent DNS cache, this improves browsing and connecting to websites....

the combination of all three have made my linux web-browsing INSANELY fast!!

people in the linux community joke how using firefox in wine is faster than the native-linux version. to them i say, that's only if your stuck using a non-intel optimized version!!! haha! in fact, i think it is now running up to speed with microsoft's internet explorer. i know it runs faster than my MAC's firefox too!! fantastic

thank you so much intel and everyone who make these tools possible and also available, now i can get into the projects i've been really excited about. LinuxDNA - the linux kernel and a bunch of linux software that could use the boost. especially for some of the applications i need them for...in a realtime envirenment!!

take care

ts9

0 Kudos
4 Replies
Dale_S_Intel
Employee
422 Views

That's great! I'd be interested in hearing any howto's or gotcha's or problems you ran into doing these builds, i.e. was it just a matter of picking the right option on the configure line, or did you have to modify makefiles or anything like that?

Glad to hear it's working well for you!

Dale

0 Kudos
styc
Beginner
422 Views

That's great! I'd be interested in hearing any howto's or gotcha's or problems you ran into doing these builds, i.e. was it just a matter of picking the right option on the configure line, or did you have to modify makefiles or anything like that?

Glad to hear it's working well for you!

Dale

I have a few points to share. I took these notes against Firefox 3.5.1 but they should work with Firefox 3.6.

  1. There is one occurrence of "Intel C Compiler" in configure.in and js/src/configure.in. Change both into "Intel C++ Compiler".
  2. In gfx/cairo/libpixman/Makefile.in, remove all lines modifying MMX_CFLAGS.
  3. (32-bit only) In gfx/cairo/libpixman/pixman-mmx.c, replace calls to functions _mm_cvtsi64_m64 and _mm_cvtm64_si64 with "*(__m64*) &x" and "*(ullong*) &x", respectively.
  4. In the macro definition at the very bottom of toolkit/components/places/src/nsMaybeWeakPtr.h, insert ".operator const nsCOMPtr()" just before the semicolon in the first line of the loop line.

Write a .mozconfig to your taste, be sure to specify CC=icc and CXX=icpc, and finally do "gmake -f client.mk build".

For my own build, I turned on nanojit in Firefox 3.6 (by fiddling several switches in multiple header files and Makefiles). JavaScript-heavy sites became much smoother.

PS: I do not quite understand why the fourth point is necessary. I derived a very simple test case and icpc said it intentionally rejected the code without ".operator const X()" stuff. Anyways, my solution looks much cleaner than what is on the LinuxDNA Google group, where a document suggests switching over to GCC to compile that particular file.

0 Kudos
Dale_S_Intel
Employee
421 Views

Thanks for the info, I've got to try this out for myself and see how it goes. For those interested, there is also a recently posted KB article on the subject:

http://software.intel.com/en-us/articles/build-firefox-35-with-intel-c-compiler/

Interested parties may also want to post comments there (or here, either way I'm interested in hearing people's experience with this).

Thanks!

Dale

0 Kudos
Feilong_H_Intel
Employee
422 Views

Hi styc,

Thanks for your great feedbacks. I just updated the article Dale mentioned above http://software.intel.com/en-us/articles/build-firefox-35-with-intel-c-compiler/, andcombined Firefox 3.6 build steps into this. Hope it helps.

Thank you.
--
Feilong H.
Intel Developer Support

Tools Knowledge Base: http://software.intel.com/en-us/articles/tools
0 Kudos
Reply