Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060630220637.GA16103@localhost>
Date: Sat, 1 Jul 2006 01:06:37 +0300
From: Ali Polatel <polatel@...il.com>
To: john-users@...ts.openwall.com
Subject: Re: intel c++ compiler and john

On 22:41 Fri 30 Jun     , Solar Designer wrote:

> Would you share your benchmark results with john-users?  What
> architecture were you compiling for?  I am guessing that it is either
> x86 or x86-64.

Sure , I'll paste both of them below.The architecture is x86 as you
correctly guessed.

> There should be no speedup from the use of another/better C compiler for
> DES-based crypt(3) hashes because the MMX/SSE2 assembly code currently
> in John is optimized beyond the abilities of current C compilers.  When
> compiling for x86-64, you may obtain roughly the same performance with
> plain C code on current Intel processors, though.

Yes there is no speedup for DES.

icc:
	Benchmarking: Traditional DES [64/64 BS MMX]... DONE
	Many salts:	660608 c/s real, 925221 c/s virtual
	Only one salt:	610726 c/s real, 852969 c/s virtual
gcc:
	Benchmarking: Traditional DES [64/64 BS MMX]... DONE
	Many salts:	660902 c/s real, 925633 c/s virtual
	Only one salt:	604608 c/s real, 846789 c/s virtual

> For MD5- and Blowfish-based crypt(3), there might be a little room for
> improvement since the current x86 assembly code for those is limited to
> plain x86 and these algorithms don't require too many registers - so C
> compilers are likely to generate comparable code, but choosing and
> scheduling x86 instructions as appropriate for your specified CPU type.
> The speedup, if any, shouldn't be substantial, though.

Well as you said there aren't any substantial improvements for md5 :

icc:
	Benchmarking: Raw MD5 [raw-md5]... DONE
	Raw:	2685K c/s real, 3750K c/s virtual

gcc:
	Benchmarking: Raw MD5 [raw-md5]... DONE
	Raw:	2581K c/s real, 3615K c/s virtual

OpenBSD blowfish is equal in both versions , the only recognizable
improvements are eggdrop blowfish and sha1.
With the other type of hashes compiling with icc doesn't change much if
it changes anything.

> > -D_FILE_OFFSET_BITS=64
> 
> This one is not an optimization and this setting is wrong for current
> versions of John.
>

Yeah I figured so I removed it from the flags and recompiled icc first
with 
"-O2 -xB -axB -fomit-frame-pointer -funroll-loops"
(Using -O3 just slows it down.)
which didn't make any difference in benchmarks compared with the gcc
version.
However adding -ip and -ipo gave me this results.I know this is not a
serious optimization ,I thought comparing the benchmarks might help in 
developing john somehow.

I also want to add that using icc instead of gcc gives considerable
optimization with aircrack-ng and mdcrack.I know this is not the point
of discussion here but it might give an idea to users of intel cpus 
who read this thread.

					Regards,
					Ali Polatel


Here are the benchmark results of icc and gcc:

icc :

Benchmarking: Traditional DES [64/64 BS MMX]... DONE
Many salts:	659686 c/s real, 926525 c/s virtual
Only one salt:	610496 c/s real, 855036 c/s virtual

Benchmarking: NT LM DES [64/64 BS MMX]... DONE
Raw:	6167K c/s real, 8661K c/s virtual

Benchmarking: NT MD4 [TridgeMD4]... DONE
Raw:	1835K c/s real, 2563K c/s virtual

Benchmarking: M$ Cache Hash [mscash]... DONE
Raw:	1386K c/s real, 1941K c/s virtual

Benchmarking: BSDI DES (x725) [64/64 BS MMX]... DONE
Many salts:	21542 c/s real, 30256 c/s virtual
Only one salt:	21358 c/s real, 29974 c/s virtual

Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw:	4355 c/s real, 6147 c/s virtual

Benchmarking: Apache MD5 [32/32]... DONE
Raw:	4351 c/s real, 6112 c/s virtual

Benchmarking: Post.Office MD5 [STD]... DONE
Raw:	1599K c/s real, 2240K c/s virtual

Benchmarking: Raw MD5 [raw-md5]... DONE
Raw:	2685K c/s real, 3750K c/s virtual

Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Raw:	1394K c/s real, 1953K c/s virtual

Benchmarking: Raw SHA1 [raw-sha1]... DONE
Raw:	1945K c/s real, 2724K c/s virtual

Benchmarking: Kerberos v5 TGT [krb5 3DES (des3-cbc-sha1)]... DONE
Raw:	23300 c/s real, 32633 c/s virtual

Benchmarking: Netscape LDAP SHA [sha1]... DONE
Raw:	1877K c/s real, 2621K c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw:	293 c/s real, 412 c/s virtual

Benchmarking: Eggdrop [blowfish]... DONE
Raw:	13434 c/s real, 18763 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K MMX]... DONE
Short:	236441 c/s real, 331150 c/s virtual
Long:	671374 c/s real, 939548 c/s virtual

Benchmarking: MYSQL [mysql]... DONE
Raw:	1404K c/s real, 1966K c/s virtual

Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw:	112216 c/s real, 157166 c/s virtual

Benchmarking: More Secure Internet Password [RSA MD defined by BSAFE
1.x]... DONE
Raw:	77233 c/s real, 107868 c/s virtual

gcc :

Benchmarking: Traditional DES [64/64 BS MMX]... DONE
Many salts:	660838 c/s real, 925543 c/s virtual
Only one salt:	603929 c/s real, 845839 c/s virtual

Benchmarking: NT LM DES [64/64 BS MMX]... DONE
Raw:	5388K c/s real, 7583K c/s virtual

Benchmarking: NT MD4 [TridgeMD4]... DONE
Raw:	1573K c/s real, 2197K c/s virtual

Benchmarking: M$ Cache Hash [mscash]... DONE
Raw:	1089K c/s real, 1530K c/s virtual

Benchmarking: BSDI DES (x725) [64/64 BS MMX]... DONE
Many salts:	21499 c/s real, 30256 c/s virtual
Only one salt:	21346 c/s real, 29872 c/s virtual

Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw:	4372 c/s real, 6136 c/s virtual

Benchmarking: Apache MD5 [32/32]... DONE
Raw:	4379 c/s real, 6117 c/s virtual

Benchmarking: Post.Office MD5 [STD]... DONE
Raw:	1631K c/s real, 2284K c/s virtual

Benchmarking: Raw MD5 [raw-md5]... DONE
Raw:	2581K c/s real, 3615K c/s virtual

Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Raw:	1230K c/s real, 1728K c/s virtual

Benchmarking: Raw SHA1 [raw-sha1]... DONE
Raw:	1557K c/s real, 2175K c/s virtual

Benchmarking: Kerberos v5 TGT [krb5 3DES (des3-cbc-sha1)]... DONE
Raw:	22141 c/s real, 31010 c/s virtual

Benchmarking: Netscape LDAP SHA [sha1]... DONE
Raw:	1514K c/s real, 2115K c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw:	294 c/s real, 412 c/s virtual

Benchmarking: Eggdrop [blowfish]... DONE
Raw:	6559 c/s real, 9186 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K MMX]... DONE
Short:	237824 c/s real, 332156 c/s virtual
Long:	683024 c/s real, 958529 c/s virtual

Benchmarking: MYSQL [mysql]... DONE
Raw:	1341K c/s real, 1873K c/s virtual

Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw:	158013 c/s real, 221929 c/s virtual

Benchmarking: More Secure Internet Password [RSA MD defined by BSAFE
1.x]... DONE
Raw:	91543 c/s real, 127854 c/s virtual





Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.