View previous topic :: View next topic |
Author |
Message |
Apopatos Guru
Joined: 17 Oct 2004 Posts: 512 Location: Hellas
|
Posted: Sat Oct 24, 2009 11:00 pm Post subject: Slow ICC... |
|
|
I wanted to do some benchmarks comparing lame encoding with different versions of gcc and various CFLAGS.
The best time was with GCC-4.4.2 and CFLAGS="-march=k8 -O3 -pipe" in my 64bit system.
The time was 1m5.916s.
Then thought to try a Window$ binary via Wine. I found a binary of lame that had bin compiled with ICC-11.1.046. The results were quite amazing since this 32bit binary via emulation gave me a score of 1m2.794s!
So I decided to try ICC natively. Followed the instructions and installed ICC-11.1.056 via portage but whatever ICCFLAGS I use the times are always over 1.10s. I even patched with the AuthenticAMD patch without better results.
Now I have these flags in my /etc/make.conf:
Code: | ICCCFLAGS="-O3 -xW"
ICCCXXFLAGS="${ICCCFLAGS}" |
I added -xW because my processor is Athlon64@3000+ and supports SSE2.
What could be wrong guys? My native 64 bit version is much slower than the emulated 32 bit one. |
|
Back to top |
|
|
Akkara Bodhisattva
Joined: 28 Mar 2006 Posts: 6702 Location: &akkara
|
Posted: Sun Oct 25, 2009 12:01 am Post subject: |
|
|
These are differences of 10% or less. This is not enough to draw conclusions from because many things can cause a 10% speed difference.
What could be happening:- The code is placed differently in memory, leading to different caching effects.
- The 64-bit code has pointers that are twice as long as the 32-bit code. This results in more memory traffic and higher cache pressure on the 64-bit versions.
- While 64-bit arithmetic can be expected to help, the code might not be written in a way that allows the compiler to take advantage of that, at least not enough to offset the larger pointers.
...just a few guesses. |
|
Back to top |
|
|
Apopatos Guru
Joined: 17 Oct 2004 Posts: 512 Location: Hellas
|
Posted: Sun Oct 25, 2009 12:43 am Post subject: |
|
|
But it says that lame works pretty well with ICC. Also always lame64 is faster than lame32, despite the CFLAGS |
|
Back to top |
|
|
Apopatos Guru
Joined: 17 Oct 2004 Posts: 512 Location: Hellas
|
Posted: Sun Oct 25, 2009 4:05 pm Post subject: |
|
|
Here it says I must have the libelf library for AMD patch to work http://server01.iiiii.info/patch-AuthenticAMD.html while I have elfutils. Could it be the problem? I suppose not, since both do the same job, right? |
|
Back to top |
|
|
|