[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

poor gcc-4.0 performance



Hello amd64 users.

I've recently installed gcc-4.0 compiler from debian packages. I've read
before that the gcc-4 has improved optimisation for x86-64 arch as in
comparison with gcc-3 branch. However, i've tried to compare the
performance of gcc-3.4 and gcc-4.0 branches by compiling john (1.6.37)
with the following flags:

CFLAGS = -c -Wall -O3 -fomit-frame-pointer -march=athlon64


after running the binaries i've found out that gcc-4.0 has very poor
performance as compared with gcc-3.4. Here is the output from the john:

---begin gcc-4.0 ---

nice -n -19 ./john-4 -test

Benchmarking: Traditional DES [64/64 BS]... DONE
Many salts:	465446 c/s real, 471099 c/s virtual
Only one salt:	422912 c/s real, 437797 c/s virtual

Benchmarking: BSDI DES (x725) [64/64 BS]... DONE
Many salts:	16204 c/s real, 16705 c/s virtual
Only one salt:	15929 c/s real, 16557 c/s virtual

Benchmarking: FreeBSD MD5 [32/64 X2]... DONE
Raw:	5344 c/s real, 5544 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64]... DONE
Raw:	374 c/s real, 388 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short:	312371 c/s real, 322697 c/s virtual
Long:	955136 c/s real, 986710 c/s virtual

Benchmarking: NT LM DES [64/64 BS]... DONE
Raw:	5726530 c/s real, 5964640 c/s virtual

---end gcc-4.0 ---

---begin gcc-3.4---

nice -n -19 ./john-3.4 -test

Benchmarking: Traditional DES [64/64 BS]... DONE
Many salts:	937894 c/s real, 951211 c/s virtual
Only one salt:	800806 c/s real, 823874 c/s virtual

Benchmarking: BSDI DES (x725) [64/64 BS]... DONE
Many salts:	29580 c/s real, 30685 c/s virtual
Only one salt:	29118 c/s real, 30201 c/s virtual

Benchmarking: FreeBSD MD5 [32/64 X2]... DONE
Raw:	5640 c/s real, 5827 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64]... DONE
Raw:	404 c/s real, 419 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short:	348108 c/s real, 360361 c/s virtual
Long:	1056614 c/s real, 1093803 c/s virtual

Benchmarking: NT LM DES [64/64 BS]... DONE
Raw:	5816383 c/s real, 6081311 c/s virtual


---end gcc-3.4---


As you can see, the performance of gcc-4.0 is quite poor as compared
with gcc-3.4, especially when john benchmarks Traditional DES
bruteforcing, or I am missing something out? Is there a reason for such
performance differences?

Many thanks for any suggestions.

Andrei

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: