Log in

View Full Version : Compiler testing


Nebob
19th May 2004, 23:49
I conducted a compiler test using Xvid 1.0 final.

Test setup

P4 2.13/2G DDR333/i865PE

Final Fanasy chapter 11 (desert ambush) was used.
DVD2AVIdg 1.30RC3 was used. D2V is available (http://lolbertarian.org/fftest.d2v).
MPEG2Dec3dg.dll 1.30RC3 was used.
AviSynth 2.5.4 was used. AVS is available (http://lolbertarian.org/fftest.avs).
VirtualDubMod 1.5.10.1/2439 was used.

Fast recompress was enabled. No filters were used. Single pass/Load defaults was used in Xvid configuration.

Compiler versions

Intel(R) C++ Compiler for 32-bit applications, Version 8.0 Build 20040318Z Package ID: W_CC_PC_8.0.048

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86

Tested xvidcore.dll builds

Koepi (http://lolbertarian.org/xvidcore.koepi.dll)
Nebob's simple (icl /O3 /Qip) (http://lolbertarian.org/xvidcore.nebob_simple.dll)
Nebob's P4 (icl /O3 /Qip /QxW) (http://lolbertarian.org/xvidcore.nebob_p4.dll)
Nebob's MSVC simple (cl /Ox /G7) (http://lolbertarian.org/xvidcore.nebob_msvc_simple.dll)
Nebob's MSVC P4 (cl /Ox /G7 /arch:SSE2) (http://lolbertarian.org/xvidcore.nebob_msvc_p4.dll)

Results

Each test was run three times then averaged to form the final result. The time required to encode the test clip is shown in minutes. Lower is better.

Koepi: 5:09
Nebob's simple: 5:02
Nebob's P4: 4:59
Nebob's MSVC simple: 5:07
Nebob's MSVC P4: 5:05

Conclusion

"Fast", "Safe", and other miracle compiles are snake oil and should be avoided. Use Koepi and be happy :D

edit:
I have tested Jawor's build. The time taken was 5:04.

Koepi
20th May 2004, 08:38
Thanks for the numbers and the test!

I use ICL7 btw., ICL8 optimizes a tiny bit better for p4 but is considerably slower on athlon architectures...

It's funny though that your MSVC (6.0? Or is that this new, free downloadable compiler?) is a bit faster, too.

Regards
Koepi

Jawor
20th May 2004, 12:37
Originally posted by Nebob
I have tested Jawor's build. The time taken was 5:04.
:thanks:

So maybe there is a future for my gcc builds? :rolleyes:
On my Celeron Tualatin (1.2 GHz) Koepi's build works faster than mine :(

Did you use the "generic" one or the one optimized for P4?

dragongodz
20th May 2004, 13:23
you really need longer tests than those to expose any real difference aswell. results for just 5 minutes can be questionable, try something that takes at least 30 minutes(or longer if you get the time) and see what that gives.

Nebob
20th May 2004, 16:41
Originally posted by Koepi
It's funny though that your MSVC (6.0? Or is that this new, free downloadable compiler?) is a bit faster, too.

It's the Visual C++ .NET 2003 compiler (which is the same as the free version being offered). I was a bit surprised too. Usually ICL beats MSVC on code like this.

Originally posted by Jawor
Did you use the "generic" one or the one optimized for P4?
Only the generic.

Originally posted by dragongodz
you really need longer tests than those to expose any real difference aswell. results for just 5 minutes can be questionable, try something that takes at least 30 minutes(or longer if you get the time) and see what that gives.
My patience has limits :p

Jawor
20th May 2004, 16:54
Originally posted by Nebob
Only the generic.
Perhaps the optimized one would give better results.

Jawor's (Athlon optimized) vs. Koepi's on an Athlon Barton 2500 (ca. 1.87 GHz):
Koepi
Xvid - First Pass: Duration: 3 minutes, 30 seconds.
Speed: 38.710 Frames per Second.
Xvid - Second Pass: Duration: 5 minutes, 3 seconds.
Speed: 26.864 Frames per Second.

Jawor
Xvid - First Pass: Duration: 3 minutes, 30 seconds.
Speed: 38.715 Frames per Second.
Xvid - Second Pass: Duration: 4 minutes, 55 seconds.
Speed: 27.601 Frames per Second.

Jawor's (Athlon optimized) vs. Koepi's on a Duron 1.4 GHz

Koepi
Xvid - First Pass: Duration: 6 minutes, 20 seconds.
Speed: 21.458 Frames per Second.
Xvid - Second Pass: Duration: 8 minutes, 30 seconds.
Speed: 15.998 Frames per Second.

Jawor
Xvid - First Pass: Duration: 6 minutes, 13 seconds.
Speed: 21.864 Frames per Second
Finished Xvid - Second Pass: Duration: 8 minutes, 19 seconds.
Speed: 16.347 Frames per Second

Koepi
20th May 2004, 17:38
This seems to be a speedup in the promille region.

Those are still small samples - you'll need the "full movie" picture, and the same "clinical" conditions (i.e. not browsing through the net while using one compile 1 and playing minesweeper and doing some browsing when using compile b) ;) Don't get me wrong, but these tests need to be done by several more people and by full movie encodes to be sure the results are not random.
(In the other thread about "faster" builds my optimisations seem to consistently outperform yours.)
I could abandon the k6 users again and do some more aggressive optimizations, but is it worth the maybe safed 2 minutes on a full encode?

Regards
Koepi

cabal
21st May 2004, 09:01
but is it worth the maybe safed 2 minutes on a full encode?

Of course! Every minute counts ;) How about Borland C ?

greetings Cabal