John the Ripper benchmarks

Initially, this page will be the place to collect and share trivial john –test benchmarks on different systems. At a later time, it may make sense to turn it into a namespace with sub-pages for john –test benchmarks (only c/s rate matters) and actual cracking runs (lots of things matter). Also, the underlying data may be uploaded/collected (e.g., exact john –test outputs, /proc/cpuinfo off of Linux systems, john.log files).

Please add your benchmark results to the tables below as appropriate. Please make sure to run the benchmarks on an otherwise idle system. For OpenMP- and MPI-enabled benchmarks, pick the “real” c/s rate. For single CPU core benchmarks, the “real” and “virtual” time results should be almost the same (as long as the system is indeed otherwise idle), so it should not matter which one of these two you pick.

Please keep these tables sorted by performance at DES-based crypt() for “many salts”, better results listed first, best results for each hash type shown in bold, best results for CPUs operating at their rated frequencies (non-overclocked) shown in bold-italics (only used when these are not the absolute best results).

Collected "john --test" benchmarks for OpenMP-enabled builds

DES crypt()
many / one salt
MD5 crypt() bcrypt x32 LM (Windows LanMan) CPUs & clock rate threads logical CPUs/
physical cores
JtR OS compiler make target tweaks
407961K / 62797K
256/256 AVX2
4608K
256/256 AVX2 8×3
86832
32/64 X3
68274K 1)
256/256 AVX2
EPYC 7R32
3.3 GHz
96 96 / 48 1.9.0-jumbo-1'ish
in the cloud
Amazon Linux 2 gcc autoconf AWS c5a.24xlarge instance
322830K / 79421K
512/512 AVX512F
3474K
512/512 AVX512BW 16×3
35424
32/64 X3
110493K
512/512 AVX512F
2x Xeon Gold 6126
2.6+ GHz
48 48 / 24 1.9.0-jumbo-1 Linux
(Ubuntu 16.04.5 LTS)
gcc 5.4.0 20160609
(5.4.0-6ubuntu1~16.04.12)
autoconf none
117315K / 23130K
128/128 BS SSE2-16
1953K
128/128 SSE2 intrinsics 12x 2)
56320
32/64 X2
33410K
128/128 BS SSE2-16
16x X7550
2.0 GHz
HT disabled 3)
128 128 / 128 1.7.9-jumbo-6'ish bleeding-jumbo Linux gcc 4.7.0 linux-x86-64-native GOMP_CPU_AFFINITY='0-127'
-jumbo
80281K / 38993K
128/128 AVX-16
714772
128/128 AVX 4×3
20880
32/64 X2
74547K
128/128 AVX-16
2x E5-2660v2
2.2+ GHz
40 40 / 20 1.8.0.6-jumbo-1-539-g59d64f3 Linux
(CentOS 7)
gcc 4.8.3
(Red Hat 4.8.3-9)
autoconf
74317K / 17170K
128/128 AVX-16
638976
128/128 AVX 12x
16823
32/64 X3
23199K
128/128 AVX-16
2x E5-2670
2.6+ GHz
32 32 / 16 1.8.0-jumbo-1 Linux gcc 4.8.1 20130715
(Red Hat 4.8.1-4)
autoconf
(x86-64 + AVX)
GOMP_CPU_AFFINITY=0-31
73334K / 27426K
128/128 BS SSE2-16
850944
SSE2i 12x
23808
32/64 X2
42630K
128/128 BS SSE2-16
4x X7560
2.27 GHz
64 64 / 32 1.7.9-jumbo-5 Linux gcc 4.4.6 linux-x86-64i GOMP_SPINCOUNT=1000000
-jumbo
73098K / 26699K
128/128 BS SSE2-16
344603
32/64 X2
23500
32/64 X2
40540K
128/128 BS SSE2-16
4x X7560
2.27 GHz
64 64 / 32 1.7.9 Linux gcc 4.4.6 linux-x86-64 GOMP_SPINCOUNT=1000000
67764K / 36044K
128/128 AVX-16
204800
32/64 X2
14827
32/64 X2
70778K
128/128 AVX-16
2x E5-2660
2.2 GHz
32 32 / 16 1.8.0 Linux
(Ubuntu)
gcc 4.6.3
(4.6.3-1ubuntu5)
linux-x86-64-avx
61675K / 31241K
128/128 BS SSE2-16
325558
32/64 X2
18510
32/64 X2
55030K
128/128 BS SSE2-16
4x X7560
2.27 GHz
32 64 / 32 1.7.9 Linux gcc 4.4.6 linux-x86-64 OMP_NUM_THREADS=32
51462K / 20171K
128/128 BS SSE2-16
4x X7550
2.00 GHz
64 64 / 32 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 GOMP_SPINCOUNT=100000
51255K / 21852K
128/128 BS SSE2-16
4x X7550
2.00 GHz
64 64 / 32 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 GOMP_SPINCOUNT=1000000
50842K / 13578K
128/128 BS SSE2-16
4x X7550
2.00 GHz
64 64 / 32 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 GOMP_SPINCOUNT=10000
50017K / 29746K
128/128 BS AVX-16
404352
128/128 AVX intrinsics 12x
10800
32/64 X2
72351K
128/128 BS AVX-16
2x E5-2630
2.3 GHz + turbo
24 24 / 12 1.7.9-jumbo-6 Linux gcc 4.6.2 linux-x86-64-avx
47087K / 21626K
128/128 BS SSE2-16
50823K 4x E7-4807
1.87 GHz
48 48 / 24 1.7.9-jumbo-5 Linux
(Debian Wheezy)
gcc 4.6.3 linux-x86-64i
46153K / 30965K
128/128 BS AVX-16
333504
128/128 AVX intrinsics 12x
7488
32/64 X2
87244K
128/128 BS AVX-16
2x E5-2630
2.3 GHz + turbo
12 24 / 12 1.7.9-jumbo-6 Linux gcc 4.6.2 linux-x86-64-avx OMP_NUM_THREADS=12 GOMP_CPU_AFFINITY='0-11' 4)
37374K / 27967K
128/128 BS SSE2-16
302976
SSE2i 12x
9481
32/64 X2
124305K
128/128 BS SSE2-16
i7-3930K
o/c 4.5 GHz
12 12 / 6 1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64?
36667K / 27349K
128/128 BS SSE2-16
493056
SSE2i 12x
14112
32/64 X2
74514K
128/128 BS SSE2-16
2x X5690
3.47GHz
24 24 / 12 1.7.9-jumbo-5 Linux gcc 4.4.6 linux-x86-64i GOMP_SPINCOUNT=1000000
36077K / 26099K
128/128 BS SSE2-16
468864
SSE2i 12x
10584
32/64 X2
86851K
128/128 BS SSE2-16
2x X5690
3.47GHz
24 24 / 12 1.7.9-jumbo-5 Linux gcc 4.4.6 linux-x86-64i OMP_NUM_THREADS=12
32703K / 13731K
64/64 BS
8x SPARC64-VII
2880 MHz
64 64 / 32 1.7.9 Solaris Sun Studio 12.2 solaris-sparc64-cc DES_bs_cpt 1024
32070K / 7418K
128/128 BS SSE2-16
10720
32/64 X2
12189K
128/128 BS SSE2-16
2x X5650
2.67 GHz
24 24 / 12 1.7.8-omp-des-4 Linux gcc 4.5.0 linux-x86-64 –test=20
(CPU frequency scaling)
31287K / 20424K
128/128 BS SSE2-16
10800
32/64 X2
58109K
128/128 BS SSE2-16
2x X5650
2.67 GHz
24 24 / 12 1.7.8-omp-des-7 Linux gcc 4.5.0 linux-x86-64 –test=20
(CPU frequency scaling)
30769K / 17006K
128/128 AVX-16
287424
128/128 AVX 12x
8447
32/64 X3
38436K
128/128 AVX-16
i7-5820K
3.3+ GHz
12 12 / 6 1.8.0.2-jumbo-1-bleeding_omp Linux gcc 4.8.2-19ubuntu1 linux-x86-64
25664K / 11066K
64/64 BS
156659
32/64 X2
9657
32/64
16246K
64/64 BS
8x SPARC64-VII
2880 MHz
64 64 / 32 1.7.9 Solaris Sun Studio 12.2 solaris-sparc64-cc
24125K / 14384K
64/64
251095
32/64 X2
10040
32/64
13600K
64/64
2x Sparc T5
3.6 GHz
256 256 / 32 1.8.0 Solaris 11 Sun Studio 12.3 solaris-sparc64-cc
22773K / 18284K
128/128 BS AVX-16
66914
32/64 X2
4800
32/64 X2
88834K
128/128 BS AVX-16
Core i7-2600K 3.4 GHz 8 8 / 4 1.7.9 Linux gcc 4.6.1-9ubuntu3 linux-x86-64-avx
22193K / 16377K
128/128 BS SSE2-16
95389
32/64 X2
7003
32/64 X2
54214K
128/128 BS SSE2-16
2x E5620
2.4 GHz + turbo
16 16 / 8 1.7.9.6-owl1 Linux gcc 4.6.3 linux-x86-64 Owl package
–test=20
21561K / 16187K
128/128 BS SSE2-16
216192
SSE2i 12x
5568
32/64 X2
59244K
128/128 BS SSE2-16
2x E5420
2.5 GHz
8 8 / 8 1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i GOMP_SPINCOUNT=2000000
21430K / 15446K
128/128 BS SSE2-16
205708
SSE2i 12x
6302
32/64 X2
26682K
128/128 BS SSE2-16
2x E5520
2.27 GHz + turbo
16 16 / 8 1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i –test=20
(CPU frequency scaling)
20889K / 5701K
128/128 BS SSE2-16
2x X5460
3.16 GHz
8 8 / 8 1.7.6-omp-des-4 Linux gcc 4.5.0 linux-x86-64
20668K / 8724K
128/128 BS AVX-16
4704
32/64 X2
18874K
128/128 BS AVX-16
Core i7-2600K 3.4 GHz 8 8 / 4 1.7.8-omp-des-4 Linux gcc 4.5.2-8ubuntu4 linux-x86-64-avx
20383K / 6635K
128/128 BS SSE2-16
7530
32/64 X2
13249K
128/128 BS SSE2-16
2x X5550
2.67 GHz
16 16 / 8 1.7.6-omp-des-4 Linux gcc 4.5.0 linux-x86-64
20334K / 15499K
128/128 BS SSE2-16
85844
32/64 X2
5135
32/64 X2
54027K
128/128 BS SSE2-16
2x E5420
2.5 GHz
8 8 / 8 1.7.9 Linux gcc 4.5.0 linux-x86-64
20054K / 15532K
128/128 BS SSE2-16
63799K
128/128 BS SSE2-16
2x X5460
3.16 GHz
8 8 / 8 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64
19759K / 15777K
128/128 BS AVX-16
4704
32/64 X2
81739K
128/128 BS AVX-16
Core i7-2600K
3.4 GHz
8 8 / 4 1.7.8-omp-des-7 Linux gcc 4.5.2-8ubuntu4 linux-x86-64-avx
19601K / 15325K
128/128 BS SSE2-16
7545
32/64 X2
59090K
128/128 BS SSE2-16
2x X5550
2.67 GHz
16 16 / 8 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64
18527K / 14247K
128/128 BS XOP-16
87305
32/64 X2
5539
32/64 X2
48044K
128/128 BS XOP-16
FX-8120
o/c 3.6 GHz
8 8 / 4×2 1.7.9 Linux gcc 4.6.2
Gentoo 4.6.2 p1.3, pie-0.5.0
linux-x86-64-xop
17758K / 14091K
128/128 BS SSE2-16
80325
32/64 X2
5367
32/64 X2
60707K
128/128 BS SSE2-16
Phenom II X6 1090T
3.21 GHz
6 6 / 6 1.7.9 Linux gcc 4.6.2
Debian Testing 4.6.2-4
linux-x86-64
17645K / 15286K
128/128 BS AVX-16
3231
32/64 X2
105676K
128/128 BS AVX-16
Core i7-2600K
3.4 GHz
4 8 / 4 1.7.8-omp-des-7 Linux gcc 4.5.2-8ubuntu4 linux-x86-64-avx OMP_NUM_THREADS=4
17530K / 14516K
128/128 BS SSE2-16
150144
SSE2i 12x
4419
32/64 X2
79069K
128/128 BS SSE2-16
E31230
3.2 GHz + turbo
8 8 / 4 1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i GOMP_SPINCOUNT=1000000
17104K / 15876K
128/128 BS SSE2-16
5472
32/64 X2
80216K
128/128 BS SSE2-16
2x X5550
2.67 GHz
8 16 / 8 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 OMP_NUM_THREADS=8
17039K / 12124K
128/128 BS XOP-16
203264
32/64 X2
5300
32/64 X2
44826K
128/128 BS XOP-16
FX-8120
3.1 GHz + turbo
8 8 / 4×2 1.7.9-jumbo-6 Linux gcc 4.6.3
Ubuntu/Linaro 4.6.3-1ubuntu5
linux-x86-64-xop
16900K / 5450K
128/128 BS SSE2-16
6150
32/64 X2
10965K
128/128 BS SSE2-16
2x E5520
2.27 GHz
16 16 / 8 1.7.6-omp-des-4 Linux gcc 4.5.0 linux-x86-64
16741K / 4993K
128/128 BS SSE2-16
2x E5420
2.5 GHz
8 8 / 8 1.7.6-omp-des-4 Linux gcc 4.? linux-x86-64
16578K / 14581K
128/128 BS SSE2-16
60235
32/64 X2
4419
32/64 X2
78610K
128/128 BS SSE2-16
E31230
3.2 GHz + turbo
8 8 / 4 1.7.9 Linux gcc 4.6.2 linux-x86-64
16442K / 12792K
128/128 BS AVX-16
87305
32/64 X2
5537
32/64 X2
43692K
128/128 BS AVX-16
FX-8120
o/c 3.6 GHz
8 8 / 4×2 1.7.9 Linux gcc 4.6.2
Gentoo 4.6.2 p1.3, pie-0.5.0
linux-x86-64-avx
(non-optimal)
16200K / 12660K
128/128 BS SSE2-16
6250
32/64 X2
48200K
128/128 BS SSE2-16
2x E5520
2.27 GHz
16 16 / 8 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64
14648K / 12288K
128/128 BS SSE2-16
58368
32/64 X2
3730
32/64 X2
81674K
128/128 BS SSE2-16
Q8400
o/c 3.4 GHz
4 4 / 4 1.7.9.4-owl1
Owl package
Linux gcc 4.6.2 linux-x86-64 GOMP_SPINCOUNT=2000000
14032K / 5372K
128/128 BS SSE2-16
4641
32/64 X2
13826K
128/128 BS SSE2-16
Phenom II X6 1075T
3.0 GHz
6 6 / 6 1.7.8-omp-des-4 Linux gcc 4.5.2-8ubuntu4 linux-x86-64
13780K / 10125K
128/128 SSE2-16
50180
32/64 X2
4340
32/64 X3
32283K
128/128 SSE2-16
Atom C2750
2.4+ GHz
8 8 / 8 1.8.0.6-owl1 Linux gcc 4.6.3 linux-x86-64 Owl package
13585K / 11154K
128/128 BS SSE2-16
5097
32/64 X2
51009K
128/128 BS SSE2-16
Phenom II X6 1075T
3.0 GHz
6 6 / 6 1.7.8-omp-des-7 Linux gcc 4.5.2-8ubuntu4 linux-x86-64 -O3 -march=k8
13339K / 10734K
128/128 BS SSE2-16
4807
32/64 X2
55286K
128/128 BS SSE2-16
Phenom II X6 1075T
3.0 GHz
6 6 / 6 1.7.8-omp-des-7 Linux gcc 4.5.2-8ubuntu4 linux-x86-64
13289K / 6976K
64/64
230400
32/64 X2
4535
32/64
9551K
64/64
Sparc T5
3.6 GHz
255 256 / 2 1.8.0 Solaris 11 gcc 4.5 solaris-sparc64-gcc OMP_NUM_THREADS=255
11599K / 9928K
128/128 BS SSE2-16
45623
32/64 X2
2952
32/64 X2
64978K
128/128 BS SSE2-16
Q8400
2.66 GHz
4 4 / 4 1.7.9.4-owl1
Owl package
Linux gcc 4.6.2 linux-x86-64 GOMP_SPINCOUNT=2000000
10243K / 8827K
128/128 BS SSE2-16
3908
32/64 X2
54224K
128/128 BS SSE2-16
Core i7 860
2.8 GHz
8 8 / 4 1.7.6-omp-des-7 Linux gcc 4.4.3-4ubuntu5 linux-x86-64
10174K / 4841K
128/128 BS SSE2-16
Core i7 920
2.67 GHz
8 8 / 4 1.7.6-omp-des-4 Linux gcc 4.5.0 linux-x86-64
9830K / 7313K
128/128 BS SSE2-16
2740
32/64 X2
44708K
128/128 BS SSE2-16
Q8400
2.66 GHz
4 4 / 4 1.7.6-omp-des-7 Linux icc 11.1.074 linux-x86-64 CFLAGS = -c -Wall -O3 -fast -fomit-frame-pointer -static-intel -msse4.1 $(OMPFLAGS)
ASFLAGS = -c $(OMPFLAGS) -fast
LDFLAGS = $(OMPFLAGS) -lm -lssl -lcrypto -ipo -no-prec-div -xSSE4.1 -static-intel -lcrypt
9584K / 8565K
128/128 BS SSE2-16
65126K
128/128 BS SSE2-16
Core i7 920
2.67 GHz
8 8 / 4 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 GOMP_SPINCOUNT=10000
9410K / 8601K
128/128 BS SSE2-16
91903
SSE2i 12x
2115
32/64 X2
66972K
128/128 BS SSE2-16
Celeron E3200
oc 4.00 GHz
2 2 / 2 1.7.9-jumbo5 Linux icc 12.1 linux-x86-64 -msse2 -fast
tweaked des_bs_cpt to 1
9366K / 8579K
128/128 BS SSE2-16
73654K
128/128 BS SSE2-16
Celeron E3200
oc 4.00 GHz
2 2 / 2 1.7.9 Linux icc 12.1.0 linux-x86-64 -msse2 -fast
tweaked des_bs_cpt to 1
9338K / 8497K
128/128 BS SSE2-16
80711K
128/128 BS SSE2-16
Celeron E3200
oc 4.00 GHz
2 2 / 2 1.7.9 Linux icc 12.1.0 linux-x86-64 -msse2 -fast
tweaked des_bs_cpt to 8
8867K / 7058K
128/128 BS SSE2-16
33969
32/64 X2
2110
32/64 X2
68012K
128/128 BS SSE2-16
Celeron E3200
oc 4.00 GHz
2 2 / 2 1.7.9 Linux icc 12.1.0 linux-x86-64 -march=core2 -fast
8208K / 6615K
128/128 BS SSE2-16
2726
32/64 X2
43618K
128/128 BS SSE2-16
Q8400
2.66 GHz
4 4 / 4 1.7.6-omp-des-7 Linux gcc 4.4.3-4ubuntu5 linux-x86-64
7985K / 6565K
128/128 BS SSE2-16
35271
32/64 X2
2255
32/64 X2
65148K
128/128 BS SSE2-16
Celeron E3200
oc 4.00 GHz
2 2 / 2 1.7.9 Linux gcc 4.6.2 SUSE linux-x86-64 -march=nocona
7405K / 4210K
128/128 BS SSE2-16
61440
128/128 SSE4.1 12x
2352
32/64 X3
9371K
128/128 BS SSE2-16
Pentium N3530
2.16+ GHz
4 4 / 4 1.8.0-jumbo-1 Linux gcc 4.8.2
(Alpine 4.8.2)
linux-x86-64
6852K / 6366K
128/128 BS SSE2-16
27033
32/64 X2
1740
32/64 X2
63317K
128/128 BS SSE2-16
Core 2 Duo E6550
o/c to 3.15 GHz
2 2 / 2 1.7.9 Linux gcc 4.6.2 linux-x86-64
6650K / 5468K
128/128 BS SSE2-16
29271
32/64 X2
1872
32/64 X2
54290K
128/128 BS SSE2-16
Celeron E3200
oc 3.33 GHz
2 2 / 2 1.7.9 Linux gcc 4.6.2 SUSE linux-x86-64 -march=nocona
5652K / 4853K
128/128 BS SSE2
66860
SSE2i 12x
1991
32/32 X2
46950K
128/128 BS SSE2
Celeron E3200
oc 4.00GHz
2 2 / 2 1.7.9-jumbo5 WinXP
32bit
JtR pre-built (cygwin)
5618K / 4804K
128/128 BS SSE2
21667
32/32
1983
32/32 X2
47304K
128/128 BS SSE2
Celeron E3200
oc 4.00GHz
2 2 / 2 1.7.9 WinXP
32bit
JtR pre-built (cygwin)
5029K / 4399K
128/128 SSE2
47424
128/128 SSE4.1
1366
32/32 X2
29040K
128/128 SSE2
E8400
3.00GHz
2 2 / 2 1.8.0-jumbo-1 Linux gcc 4.9.2 i686-pc-linux-gnu
7626
32/64 X2
2x X5550
2.67 GHz
16 16 / 8 1.7.6 Linux gcc 4.5.0 linux-x86-64
6528
32/64 X2
2x X5460
3.16 GHz
8 8 / 8 1.7.5-omp-1 Linux gcc 4.5.0 linux-x86-64
3698
32/64 X2
Core i7 920
2.67 GHz
8 8 / 4 1.7.5-omp-1 Linux gcc 4.5.0 linux-x86-64
2566
32/64 X2
Q8400
2.66 GHz
4 4 / 4 1.7.6-jumbo-7 Linux gcc 4.4.3-4ubuntu5 linux-x86-64
3244K / 1949K
128/128 NEON
21291
32/32 X2
914
32/32
5210K
128/128 NEON
4x Cortex A15 @1.6Ghz (Exynos 5410) 4 4 / 4 1.8.0.2-jumbo-1-bleeding_omp Linux gcc-4.7 (Debian 4.7.2-5) 4.7.2 NEON-autoconf
1335K / 1228K
128/128 BS SSE2-16
14304
128/128 SSE2
intrinsics 12x
840
32/64 X2
15548K
128/128 BS SSE2-16
AMD E-450
1.65 GHz
2 2 / 2 1.7.9-jumbo-6 Linux gcc 4.7.0 linux-x86-64-native
601
32/64
UltraSPARC T2
1165 MHz
32 32 / 4 1.7.5-omp-2 Solaris 10 Sun C 5.9 SunOS_sparc
Patch 124867-14 2010/03/30
solaris-sparc64-cc BF_mt 96
820828 / 1231K
128/128 BS SSE2-16
4x X7550
2.00 GHz
64 64 / 32 1.7.6-omp-des-7 Linux gcc 4.5.0 linux-x86-64 GOMP_SPINCOUNT=10000000
(non-optimal)
292K / 278K
128/128 NEON
2953
32/32 X2
166
32/32
3596K
128/128 NEON
2x Cortex-A9 666 MHz
(in Xilinx Zynq 7020)
2 2 / 2 1.8.0.1 Linux gcc 4.6.1
Ubuntu/Linaro 4.6.1-9ubuntu3
linux-arm32le-neon

Collected "john --test" benchmarks for MPI-enabled builds

DES crypt()
many / one salt
MD5 crypt() bcrypt x32 LM (Windows LanMan) CPUs & clock rate processes logical CPUs/
physical cores
JtR OS compiler make target tweaks
735037K / 701243K
128/128 BS SSE2-16
7507K
128/128 SSE2 intrinsics 12x 5)
200679
32/64 X2
~9200M 6)
128/128 BS SSE2-16
48x X7550
2.0 GHz
HT disabled 7)
384 384 / 384 1.7.9-jumbo-6'ish bleeding-jumbo Linux gcc 4.7.0 linux-x86-64-native
586638K / 505080K
DES 128/128 AVX-16
4398K
MD5 128/128 AVX 12x
133374
32/64 X3
3234M
DES 128/128 AVX-16
20x E5-2670v2
2.5 GHz
HT disabled
128 128 / 128 1.8.0-jumbo-1 Linux
(SLES11Sp3)
gcc 4.9.2 autoconf or linux-x86-64-native? None: 128 cores across 20 active nodes (leaving some of the 200 cores unused?)
406847K / 72475K
128/128 BS SSE2-16
6107K
128/128 SSE2 intrinsics 12x
163485
32/64 X2
106933K
128/128 BS SSE2-16
48x X7550
2.0 GHz
HT disabled
3 processes x 128 OpenMP threads 384 / 384 1.7.9-jumbo-6'ish bleeding-jumbo Linux gcc 4.7.0 linux-x86-64-native 3xMPI, 128xOMP
GOMP_CPU_AFFINITY='0-127'
244295K / 234295K
128/128 BS SSE2-16
2339K
128/128 SSE2 intrinsics 12x
66902
32/64 X2
3073M
128/128 BS SSE2-16
48x X7550
2.0 GHz
HT disabled
128 128 / 128 1.7.9-jumbo-6'ish bleeding-jumbo Linux gcc 4.7.0 linux-x86-64-native
54410K / 51601K
128/128 BS SSE2-16
786762K 4x E7-4807
1.87 GHz
48 48 / 24 1.7.9-jumbo-5 Linux
(Debian Wheezy)
gcc 4.6.3 linux-x86-64i

Collected "john --test" benchmarks for one CPU core

For multi-CPU systems and multi-core CPUs, the c/s rates given are for one CPU core. For example, the Q6700 CPU achieves an equivalent of just over 2.5 million of traditional DES-based crypt(3) checks per second per core, but since this CPU is quad-core, this translates to just over 10 million of checks per second per CPU chip, with proper parallelization.

For some CPUs (such as Core i7), the per-core clock rate varies with the number of cores in use, so directly multiplying the per-core c/s rate by the number of cores would not yield the CPU's combined c/s rate capability (the actual combined c/s rate would be less), but on the other hand if the CPU also supports SMT (Hyperthreading) then additional speedup may be obtained by running more JtR processes than the CPU's number of cores.

DES crypt()
many / one salt
MD5 crypt() bcrypt x32 LM (Windows LanMan) CPU & clock rate JtR OS compiler make target tweaks
12462K / 11220K
256/256 AVX2
101736
256/256 AVX2 8×3
1501
32/64 X3
100811K
256/256 AVX2
Core i7-4790
4.0GHz turbo
1.9.0-jumbo-1+bleeding-0835ce060 Linux gcc version 10.2.1 20210110 x86_64-linux-gnu
11162K / 10059K
256/256 AVX2
89052
256/256 AVX2 8×3
1371
32/64 X3
92790K
256/256 AVX2
Core i7-6600U
3.4GHz turbo
1.9.0-jumbo-1+bleeding-0835ce060 Linux gcc version 10.2.1 20210110 x86_64-linux-gnu
6200K / 5898K
128/128 AVX-16
17418
32/64 X2
1046
32/64 X2
80981K
128/128 BS AVX-16
Core i7-3770
3.4 GHz
1.8.0 Linux gcc 4.7.3 linux-x86-64-avx
5802K / 5491K
128/128 BS AVX-16
14766
32/64 X2
940
32/64 X2
71238K
128/128 BS AVX-16
Core i7-2600K
3.4 GHz
1.7.9 Linux gcc 4.6.1-9ubuntu3 linux-x86-64-avx
5731K / 4647K
128/128 BS AVX-16
14648
32/64 X2
918
32/64 X2
26852K
128/128 BS AVX-16
Core i7-2600K
3.4 GHz
1.7.8 Linux gcc 4.5.2-8ubuntu4 linux-x86-64-avx
5723K / 5518K
128/128 BS AVX-16
14642
32/64 X2
918
32/64 X2
74812K
128/128 BS AVX-16
Core i7-2600K
3.4 GHz
1.7.8-fast-des-key-setup-3 Linux gcc 4.5.2-8ubuntu4 linux-x86-64-avx
5242K / 4987K
128/128 AVX-16
15206
32/64 X2
906 32/64 X2 70318K
128/128 AVX-16
Core i7-3770
3.4 GHz
1.8.0 Linux gcc 4.7.3 linux-x86-64-avx Turbo Boost disabled
4738K / 4390K
128/128 BS XOP-16
39584
128/128 XOPi 8x
946
32/64 X2
57165K
128/128 BS XOP-16
FX-8120
4.0 GHz turbo
1.7.9-jumbo-6 Linux gcc 4.6.3
Ubuntu/Linaro 4.6.3-1ubuntu5
linux-x86-64-xop
4463K / 4261K
128/128 BS SSE2-16
17279
32/64 X2
1119
32/64 X2
61836K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux gcc 4.6.2 SUSE linux-x86-64
4458K / 4275K
128/128 BS SSE2-16
17335
32/64 X2
1098
32/64 X2
61769K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux gcc-4.7.0_20111108 linux-x86-64
4452K / 4275K
128/128 BS SSE2-16
17521
32/64 X2
1106
32/64 X2
61240K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux gcc-4.7.0_20111108 linux-x86-64 -march=nocona
4452K / 4275K
128/128 BS SSE2-16
45328
SSE2i 12x
1122
32/64 X2
61470K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9-jumbo5 Linux gcc 4.6.2 SUSE linux-x86-64i
4449K / 4289K
128/128 BS SSE2-16
17734
32/64 X2
1131
32/64 X2
61684K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux gcc 4.6.2 SUSE linux-x86-64 -march=nocona
4449K / 4283K
128/128 BS SSE2-16
17478
32/64 X2
1080
32/64 X2
60780K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux gcc 4.5.1 SUSE linux-x86-64
4448K / 4286K
128/128 BS SSE2-16
17083
32/64 X2
1058
32/64 X2
61171K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux icc 12.1.0 linux-x86-64 -march=core2 -fast
4448K / 4274K
128/128 BS SSE2-16
9620
32/64 X2
889
32/64 X2
62258K
128/128 BS SSE2-16
Celeron E3200
oc 4.00GHz
1.7.9 Linux AMD OPEN64 4.5.1 linux-x86-64 -O3 -march=wolfdale
4381K / 4195K
128/128 BS SSE2-16
12388
32/64 X2
786
32/64 X2
60186K
128/128 BS SSE2-16
E31230
3.2 GHz + turbo
1.7.9 Linux gcc 4.6.2 linux-x86-64
4370K / 4186K
128/128 BS SSE2-16
35340
SSE2i 12x
792
32/64 X2
60199K
128/128 BS SSE2-16
E31230
3.2 GHz + turbo
1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i
4096K / 3510K
128/128 AVX-16
31078
128/128 AVX 12x
852
32/64 X3
22736K
128/128 AVX-16
E5-2430
2.20GHz
1.8.0-jumbo-1 Linux gcc 4.7.2 x86_64-unknown-linux-gnu
3951K / 3786K
128/128 BS AVX-16
14636
32/64 X2
950
32/64 X2
53934K
128/128 BS AVX-16
FX-8120
4.0 GHz turbo
1.7.9 Linux gcc 4.6.2
Gentoo 4.6.2 p1.3, pie-0.5.0
linux-x86-64-avx
(non-optimal)
3828K / 3673K
128/128 BS SSE2-16
39348
SSE2i 12x
904
32/64 X2
51187K
128/128 BS SSE2-16
X5690
3.47GHz
1.7.9-jumbo-5 Linux gcc 4.4.6
RHEL 6.2
linux-x86-64i
3748K / 3536K
128/128 BS SSE2
34403
SSE2i 12x
997
32/32 X2
49812K
128/128 BS SSE2
Celeron E3200
oc 4.00GHz
1.7.9-jumbo5 Win XP 32bit JtR pre-built (cygwin)
3738K / 3587K
128/128 BS SSE2
10976
32/32
1004
32/32 X2
49424K
128/128 BS SSE2
Celeron E3200
oc 4.00GHz
1.7.9 Win XP 32bit JtR pre-built (cygwin)
3713K / 3561K
128/128 BS SSE2-16
14733
32/64 X2
944
32/64 X2
50995K
128/128 BS SSE2-16
Celeron E3200
oc 3.33GHz
1.7.9 Linux gcc 4.6.2 SUSE linux-x86-64 -march=nocona
3500K / 3369K
128/128 BS SSE2-16
13300
32/64 X2
882
32/64 X2
48700K
128/128 BS SSE2-16
Core 2 Duo E6550
o/c to 3.15 GHz
1.7.9 Linux gcc 4.6.2 linux-x86-64
3486K / 2989K
128/128 BS SSE2-16
15580
32/64 X2
943
32/64 X2
17754K
128/128 BS SSE2-16
E6750
o/c to 3.6 GHz
1.7.3.1 Linux gcc 4.2.3
4.2.3-2ubuntu7
linux-x86-64
3429K / 3014K
128/128 BS SSE2-16
15696
32/64 X2
924
32/64 X2
21567K
128/128 BS SSE2-16
Core i7 920
o/c to 3.6 GHz 8)
1.7.6-jumbo-12 Linux gcc 4.4.5 linux-x86-64
3376K / 3218K
128/128 BS SSE2-16
16089
32/64 X2
1070
32/64 X2
43999K
128/128 BS SSE2-16
Phenom II X6 1090T
3.21 GHz
1.7.9 Linux gcc 4.6.2
Debian Testing 4.6.2-4
linux-x86-64
3311K / 3139K
128/128 SSE2
32460
128/128 SSE4.1 4×3
990
32/64 X3
36065K
128/128 SSE2
Q9650 @ 3.00GHz 1.9.0-jumbo-1+bleeding-edf64e869 Linux gcc 10.2.1 20210110
Debian GNU/Linux 11
x86_64
3296K / 3213K
128/128 BS SSE2-16
13564
32/64 X2
790
32/64 X2
47566K
128/128 BS SSE2-16
X5650
2.67 GHz
1.7.8-fast-des-key-setup-3 Linux gcc 4.5.0 linux-x86-64 –test=20
(CPU frequency scaling)
3252K / 3129K
128/128 AltiVec
7693
32/32 X2
571
32/32
39938K
128/128 AltiVec
POWER7
3.7 GHz
1.8.0 AIX xlc aix-ppc32-altivec custom Makefile
3116K / 2843K
128/128 BS SSE2-16
13599
32/64 X2
791
32/64 X2
20379K
128/128 BS SSE2-16
X5650
2.67 GHz
1.7.8 Linux gcc 4.5.0 linux-x86-64
3017K / 2588K
128/128 BS SSE2-16
13644
32/64 X2
825
32/64 X2
14938K
128/128 BS SSE2-16
X5460
3.16 GHz
1.7.4.2 Linux gcc 4.4.3 linux-x86-64
3013K / 2531K
128/128 BS SSE2-16
11257
32/64 X2
745
32/64 X2
16649K
128/128 BS SSE2-16
X5460
3.16 GHz
1.7.3.1-owl1
package
Linux gcc 3.4.5 linux-x86-64
2976K / 2607K
128/128 BS SSE2-16
13727
32/64 X2
728
32/64 X2
22209K
128/128 BS SSE2-16
X5560
2.80 GHz
1.7.6 Solaris 10 Sun Studio 12 solaris-x86-64-cc
2965K / 2504K
128/128 BS SSE2-16
15530
32/64 X2
1011
32/64 X2
14997K
128/128 BS SSE2-16
Phenom II X6 1075T
3.0 GHz
1.7.8 Linux gcc 4.5.2-8ubuntu4 linux-x86-64 -O3 -march=k8
2959K / 2502K
128/128 BS SSE2-16
15832
32/64 X2
978
32/64 X2
14738K
128/128 BS SSE2-16
Phenom II X6 1075T
3.0 GHz
1.7.8 Linux gcc 4.5.2-8ubuntu4 linux-x86-64
2906K / 2549K
128/128 BS SSE2-16
13484
32/64 X2
787
32/64 X2
18892K
128/128 BS SSE2-16
X5550
2.67 GHz
1.7.6 Linux gcc 4.5.0 linux-x86-64
2849K / 2810K
128/128 BS SSE2-16
13588
32/64 X2
793
32/64 X2
43909K
128/128 BS SSE2-16
X5550
2.67 GHz
1.7.6-fast-des-key-setup-3 Linux gcc 4.5.0 linux-x86-64
2839K / 2515K
128/128 BS SSE2-16
13414
32/64 X2
611
32/64 X2
19603K
128/128 BS SSE2-16
X5550
2.67 GHz
1.7.6 Linux gcc 4.1.2 linux-x86-64
2823K / 2513K
128/128 BS SSE2-16
13452
32/64 X2
784
32/64 X2
20411K
128/128 BS SSE2-16
X5550
2.67 GHz
1.7.6 Linux gcc 4.5.0 linux-x86-64 -march=core2
2787K / 2676K
128/128 BS SSE2-16
10768
32/64 X2
658
32/64 X2
38236K
128/128 BS SSE2-16
E5420
2.5 GHz
1.7.9 Linux gcc 4.5.0 linux-x86-64
2786K / 2589K
128/128 SSE2
24180
128/128 SSE4.1
705
32/32 X2
26501K
128/128 SSE2
E8400
3.00GHz
1.8.0-jumbo-1 Linux gcc 4.9.2 i686-pc-linux-gnu
2779K / 2675K
128/128 BS SSE2-16
27192
SSE2i 12x
702
32/64 X2
38619K
128/128 BS SSE2-16
E5420
2.5 GHz
1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i
2774K / 2504K
256/256 AVX
19068
128/128 AVX 12x
452
32/32 X2
18745K
256/256 AVX
i3-2310M
2.10GHz
1.8.0-jumbo-1 Linux gcc 4.9.2 i686-pc-linux-gnu
2707K / 2412K
128/128 BS SSE2-16
12873
32/64 X2
587
32/64 X2
18933K
128/128 BS SSE2-16
X5550
2.67 GHz
1.7.6 Linux gcc 4.1.2 linux-x86-64 same X5550 machine under ESXi 4.1
2739K / 2410K
128/128 BS SSE2-16
12143
32/64 X2
758
32/64 X2
14621K
128/128 BS SSE2-16
Core i7 920 2.66 GHz 1.7.3.1 Linux gcc 4.3.3
4.3.2-2ubuntu6
linux-x86-64
2712K / 2292K
128/128 BS SSE2-16
11557
32/64 X2
696
32/64 X2
14305K
128/128 BS SSE2-16
Q9550
2.83GHz
1.7.5 Linux icc 10.1 linux-x86-64-icc replaced gcc by icc
CFLAGS=”-c -O2 -fast -I/usr/include -static-intel”
LDFLAGS=”-lm -lssl -lcrypto -ipo -no-prec-div -xP -static-intel -lcrypt”
2712K / 2292K
128/128 BS SSE2-16
32364
12x
696
32/64 X2
14305K
128/128 BS SSE2-16
Q9550
2.83GHz
1.7.5 Linux icc 10.1 linux-x86-64-icc icc patch
2708K / 2313K
128/128 BS SSE2-16
12232
32/64 X2
734
32/64 X2
13740K
128/128 BS SSE2-16
Q9550
2.83GHz
1.7.5 Linux gcc 4.3.2 linux-x86-64
2706K / 2329K
128/128 BS SSE2-16
12315
32/64 X2
747
32/64 X2
13323K
128/128 BS SSE2-16
Q9550
2.83GHz
1.7.5 Linux gcc 4.5.0 linux-x86-64
2704K / 2280K
128/128 BS SSE2-16
7961
32/64 X2
461
32/64 X2
15274K
128/128 BS SSE2-16
Q9550
2.83GHz
1.7.5 Linux clang (trunk 103935) linux-x86-64-clang Replaced gcc by clang, compiled compiler.c with gcc
2664K / 2604K
128/128 BS SSE2-16
26840
SSE2i 12x
691
32/64 X2
37800K
128/128 BS SSE2-16
E5520
2.27 GHz + turbo
1.7.9-jumbo-5 Linux gcc 4.6.2 linux-x86-64i –test=20
(CPU frequency scaling)
2579K / 2266K
128/128 BS SSE2-16
11764
32/64 X2
692
32/64 X2
17006K
128/128 BS SSE2-16
Core i7 920 2.66 GHz 9) 1.7.6-jumbo-12 Linux gcc 4.4.5 linux-x86-64
2545K / 2221K
128/128 BS SSE2-16
11840
32/64 X2
695
32/64 X2
17326K
128/128 BS SSE2-16
Core i7 920 2.66 GHz
Turbo Boost to 3.?? GHz
1.7.4.2 Linux gcc 4.4.3 linux-x86-64
2537K / 2200K
128/128 BS SSE2-16
11200
32/64 X2
537
32/64 X2
13306K
128/128 BS SSE2-16
Q6700
2.66 GHz
1.7.3.1 Linux gcc 4.1.2
Red Hat 4.1.2-14
linux-x86-64
2525K / 2161K
128/128 BS SSE2-16
8098
32/32
496
32/32
13073K
128/128 BS SSE2-16
E8400
3.0 Ghz
1.7.2 Windows XP gcc ? win32-cygwin-x86-sse2
2516K / 2414K
128/128 BS SSE2-16
10245
32/64 X2
586
32/64 X2
34187K
128/128 BS SSE2-16
X7560
2.27 GHz
1.7.9 Linux gcc 4.4.6 linux-x86-64
2406K / 2085K
128/128 BS SSE2-16
10925
32/64 X2
576
32/64 X2
17418K
128/128 BS SSE2-16
E5520
2.27 GHz
1.7.6 Solaris Sun Studio 12 solaris-x86-64-cc
2375K / 1911K
128/128 BS SSE2-16
10432
32/64 X2
628
32/64 X2
12988K
128/128 BS SSE2-16
Q6600
2.4 GHz
1.7.3.1-all-5 Linux gcc 4.3.3
4.3.3-5ubuntu4
linux-x86-64
2300K / 1940K
128/128 BS SSE2-16
8600
32/64 X2
568
32/64 X2
12851K
128/128 BS SSE2-16
Q6600
2.4 GHz
1.7.3.1 Linux gcc 3.4.5 linux-x86-64
2273K / 2182K
128/128 BS SSE2-16
10191
32/64 X2
615
32/64 X2
13001K
128/128 BS SSE2-16
P8600
2.4 GHz
1.7.3.1 Mac OS X 10.5 gcc 4.2.1 macosx-x86-64 -fast -march=core2
2271K / 1929K
128/128 BS SSE2
7300
32/32
450
32/32
12530K
128/128 BS SSE2
Q6700
2.66 GHz
1.7.3.1 Linux gcc 4.1.2
Red Hat 4.1.2-14
linux-x86-64-32-sse2
(non-optimal)
2229K / 1914K
128/128 BS SSE2-16
10034
32/64 X2
603
32/64 X2
11407K
128/128 BS SSE2-16
E5410
2.33 GHz
1.7.3.1 Linux gcc 4.2.3
Ubuntu 4.2.3
linux-x86-64
2222K / 1880K
128/128 BS SSE2-16
8277
32/64 X2
550
32/64 X2
12458K
128/128 BS SSE2-16
E5410
2.33 GHz
1.7.3.1 Linux gcc 3.4.5 linux-x86-64
2095K / 1789K
128/128 BS SSE2
6842
32/32
420
32/32
11831K
128/128 BS SSE2
E7200
2.5 GHz
1.7.3.4 XP gcc 3.4.5 mingw special r3 win32-mingw-x86-sse2
2029K / 1734K
128/128 BS SSE2-16
11304
32/64 X2
698
32/64 X2
10786K
128/128 BS SSE2-16
Opteron 8380
2.5 GHz
1.7.6 Linux gcc 4.2.4 linux-x86-64
1902K / 1590K
128/128 BS SSE2-16
8140
32/64 X2
464
32/64 X2
8580K
128/128 BS SSE2-16
Core 2 Duo
2.0 GHz
1.7.3.1 Mac OS X 10.5 gcc (Xcode 3.0) macosx-x86-64
1888K / 1601K
128/128 BS SSE2-16
7080
32/64 X2
468
32/64 X2
10640K
128/128 BS SSE2-16
E5405
2.0 GHz
1.7.3.1 Linux gcc 3.4.5 linux-x86-64
1883K / 1630K
128/128 BS SSE2-16
11723
32/64 X2
747
32/64 X2
10509K
128/128 BS SSE2-16
Phenom 9950
2.6 GHz
1.7.3.1 Linux gcc 4.3.1 linux-x86-64
1883K / 1816K
64/64
7632
32/64 X2
455
32/64
30762K
64/64
POWER8
3.42 GHz
1.8.0 Linux gcc 7.2.0 linux-ppc64 LPAR
1790K / 1535K
128/128 BS SSE2
5882
32/32
360
32/32
8534K
128/128 BS SSE2
Xeon 3050
2.13 GHz
1.7.3.1 Linux gcc 4.3.2
Debian 4.3.2-1.1
linux-x86-sse2
1705K / 1439K
128/128 BS SSE2-16
6413
32/64 X2
424
32/64 X2
9454K
128/128 BS SSE2-16
Core 2 Duo T7100
1.8 GHz
1.7.3.1-owl1
package
Linux gcc 3.4.5 linux-x86-64
1695K / 1398K
128/128 BS SSE2
5520
32/32
336
32/32
7814K
128/128 BS SSE2
Core 2 Duo
2.0 GHz
1.7.3.1 Mac OS X 10.5 gcc (Xcode 3.0) macosx-x86-sse2
1688K / 1465K
128/128 BS SSE2-16
9852
32/64 X2
652
32/64 X2
10582K
128/128 BS SSE2-16
Opteron 2356
2.3 GHz
1.7.3.1 Solaris 10 Sun Studio 12 solaris-x86-64-cc
1684K / 1449K
128/128 BS SSE2-16
10431
32/64 X2
664
32/64 X2
9480K
128/128 BS SSE2-16
Opteron 1356
2.3 GHz
1.7.3.1 Linux gcc 4.3.0
Red Hat 4.3.0-8
linux-x86-64
1676K / 1461K
128/128 BS SSE2-16
10299
32/64 X2
632
32/64 X2
9226K
128/128 BS SSE2-16
Opteron 1356
2.3 GHz
1.7.3.1 FreeBSD gcc 4.2.1 freebsd-x86-64
1604K / 1379K
128/128 BS SSE2-16
9903
32/64 X2
628
32/64 X2
9100K
128/128 BS SSE2-16
Opteron 2354
2.2 GHz
1.7.3.1 Linux 4.3.3-5ubuntu4
Ubuntu 9.04
linux-x86-64
1535K / 1325K
128/128 BS SSE2-16
9473
32/64 X2
600
32/64 X2
8720K
128/128 BS SSE2-16
Opteron 2352
2.1 GHz
1.7.3.1 Linux gcc 4.3.2
Debian 4.3.2-1.1
linux-x86-64
1339K / 1178K
128/128 BS SSE2-16
8422
32/32
505
32/32
8799K
128/128 BS SSE2-16
Athlon 64 X2 5600+
2.8 GHz
1.7.2 FreeBSD 7.2Rp1 gcc 4.2.1 freebsd-x86-sse2
1337K / 1181K
SSE intrinsics
22769
12x
524
32×64 X2
9843K
SSE intrinsics
E5405
2.00 GHz
1.7.3.1 Vista 64 ICC 11.0.066 VS native custom version
1307K / 1177K
128/128 BS SSE2-16
11821
32/64 X2
755
32/64 X2
10147K
128/128 BS SSE2-16
Opteron 8220
2.8 GHz
1.7.3.1 Solaris 10 Sun Studio 12 solaris-x86-64-cc
1307K / 1134K
64/64 BS
5473
32/64 X2
338
32/64
8303K
64/64 BS
SPARC64 VII
2880 MHz
1.7.6 Solaris 10 Sun Studio 12.2 solaris-sparc64-cc
1288K/1241K
64/64
7578
32/64 X2
440
32/64
21531K
64/64
Sparc T5
3.6 GHz
1.8.0 Solaris 11 Sun Studio 12.3 solaris-sparc64-cc
1226K/1183K
64/64
7399
32/64 X2
430
32/64
19488K
64/64
Sparc T5
3.6 GHz
1.8.0 Solaris 11 gcc-4.5 solaris-sparc64-gcc
1215K / 1091K
128/128 BS SSE2-16
11020
32/64 X2
700
32/64 X2
9426K
128/128 BS SSE2-16
Opteron 2218
2.6 GHz
1.7.3.1 Solaris 10 Sun Studio 12 solaris-x86-64-cc
1211K / 1105K
128/128 BS SSE2-16
9692
32/64 X2
683
32/64 X2
9240K
128/128 BS SSE2-16
Opteron 2218
2.6 GHz
1.7.3.1 Solaris 10 gcc 3.4.3 solaris-x86-64-gcc
1182K / 1027K
128/128 BS Altivec
5216
32/32 X2
296
32/32
7163K
128/128 BS Altivec
PPC 970
2.1 GHz
1.7.5 MacOS 10.5 gcc 4.2.1 macosx-ppc32-altivec
1182K / 1045K
128/128 BS SSE2-16
7473
32/32
409
32/32
7816K
128/128 BS SSE2-16
Athlon DC 4850e
2.5 GHz
1.7.2 FreeBSD 7.0Rp11 gcc 4.2.1 freebsd-x86-sse2
1175K / 1066K
128/128 BS SSE2-16
11239
32/64 X2
709
32/64 X2
8449K
128/128 BS SSE2-16
Athlon 64 X2 4800+
2.5 GHz
1.7.3.1 FreeBSD 7.0Rp3 gcc 4.2.1 freebsd-x86-64
1136K/1055K
64/64 BS MMX
7300
32/32
450
32/32
9710K
64/64 BS MMX
Q6700
2.66 GHz
1.7.3.1 Linux gcc 4.1.2
Red Hat 4.1.2-14
linux-x86-64-32-mmx
(non-optimal)
1058K/970K
128/128 BS SSE2-16
12759
32/64 X2
881
32/64 X2
9048K
128/128 BS SSE2-16
P4 Xeon Nocona
3.6 GHz
1.7.3.1 Linux 4.3.3-5ubuntu4
Ubuntu 9.04
linux-x86-64
1022K/935K
64/64
3358
32/64 X2
381
32/64 X2
11020K
64/64
Itanium 2 Madison
1.3 GHz
1.8.0 Linux gcc 4.6.4 linux-ia64
1021K/873K
128/128 BS SSE2
5160
12x
202
32/32
5237K
128/128 BS SSE2
U7600
1.2 GHz
1.7.3.1-all-5 Linux icc 11.0 linux-x86-sse2-icc icc patch
940K / 853K
128/128 BS SSE2-16
7477
32/64 X2
331
32/64
7113K
128/128 BS SSE2-16
Athlon 64 3000+
2.0 GHz
1.7.2 Linux gcc 3.4.5 linux-x86-64
937K / 847K
128/128 BS SSE2-16
8971
32/64 X2
579
32/64 X2
6609K
128/128 BS SSE2-16
Athlon 64 3000+
2.0 GHz
1.7.3.1 Linux gcc 4.3.1 linux-x86-64
826K / 684K
128/128 BS SSE2
4293
32/32
217
32/32
4236K
128/128 BS SSE2
Atom N270
1.6 GHz
1.7.7 Linux gcc 4.5.1 linux-x86-sse2
819K / 714K
128/128 NEON
5160
32/32 X2
189
32/32
4673K
128/128 NEON
Cortex A15 @1.6 Ghz 1.8.0.2-jumbo-1-bleeding Linux gcc-4.7 (Debian 4.7.2-5) 4.7.2 NEON-autoconf
796K / 757K
64/64 BS
11200
32/64 X2
537
32/64 X2
10230K
64/64 BS
Q6700
2.66 GHz
1.7.3.1 Linux gcc 4.1.2
Red Hat 4.1.2-14
generic
(non-optimal)
731K / 650K
128/128 BS SSE2
4471
32/32
352
32/32
5436K
128/128 BS SSE2
P4 Northwood
2.4 GHz
1.7.3.1 Windows XP gcc 3.4.4 win32-cygwin-x86-sse2
731K / 647K
64/64 BS
3696
32/64 X2
260
32/64
5293K
64/64 BS
UltraSPARC-IIIi
1.6 GHz
1.7.6 Solaris 10 Sun Studio 12.1 solaris-sparc64-cc
709K / 644K
128/128 BS AltiVec
3916
32/32 X2
270
32/32
4857K
128/128 BS AltiVec
PowerPC G4
1.5 GHz
1.7.3.1-all-5 Mac OS X 10.4 gcc 4.0.1 macosx-ppc32-altivec
706K / 683K
128/128 BS SSE2-16
5784
128/128 SSE2
intrinsics 12x
410
32/64 X2
11111K
128/128 BS SSE2-16
AMD E-450
1.65 GHz
1.7.9-jumbo-6 Linux gcc 4.7.0 linux-x86-64-native
706K / 620K
64/64 BS
3498
32/64 X2
257
32/64
5065K
64/64 BS
UltraSPARC-IIIi
1.5 GHz
1.7.6 Solaris 10 Sun Studio 12.2 solaris-sparc64-cc
626K / 505K
128/128 BS AltiVec
3415
32/32 X2
236
32/32
4217K
128/128 BS AltiVec
PowerPC 7450 (G4)
1.3 GHz
1.7.2 Mac OS X 10.5 gcc (Xcode 3.0) macosx-ppc32-altivec
540K / 492K
64/64 BS
3333
32/64 X2
170
32/64
3437K
64/64 BS
UltraSPARC-IIIi
1.6 GHz
1.7.6 Solaris 10 gcc 3.4.6 solaris-sparc64-gcc
436K / 395K
128/128 BS AltiVec
2679
32/32 X2
182
32/32
3300K
128/128 BS AltiVec
PowerPC 7455 (G4)
1.0 GHz
1.7.5 NetBSD 5.0.2 gcc 4.1.3 netbsd-ppc32-altivec
435K / 370K
64/64 BS
1484
32/64 X2
98.3
32/64
4417K
64/64 BS
Alpha 21264A
667 MHz
1.6.17 Linux egcs 1.1.2 linux-alpha -mev6
390K / 378K
128/128 NEON
2869
32/32 X2
157
32/32
5631K
128/128 NEON
Exynos 4412
1.4 GHz
1.8.0.2 Linux gcc 4.7.1 linux-arm32le-neon -mcpu=cortex-a9
378K / 367K
64/64 BS MMX
2461
32/32
171
32/32
5982K
64/64 BS MMX
Pentium 3
1.0 GHz
1.7.9.3 Linux gcc 3.4.5 linux-x86-mmx 1.7.9.3-owl1.3.0.1
Owl package
375K / 339K
64/64 BS MMX
2465
32/32
171
32/32
2779K
64/64 BS MMX
Pentium 3
1.0 GHz
1.7.8 Linux gcc 3.4.5 linux-x86-mmx 1.7.8-owl1
Owl package
333K / 300K
24/32 4K
7698
32/32
466
32/32
3966K
32/32 BS
Opteron
2.6 GHz
1.7.2 Solaris 10 gcc 3.4.3 solaris-x86-any
(non-optimal)
328K / 300K
64/64 BS MMX
2460
32/32
171
32/32
2683K
64/64 BS MMX
Pentium 3
1.0 GHz
1.7.2 Linux gcc 3.4.5 linux-x86-mmx
260K / 217K
64/64 BS
1227
32/64 X2
105
32/64
1734K
64/64 BS
UltraSPARC-T2
1167 MHz
1.7.3.1 Solaris 10 Sun Studio 11 solaris-sparc64-cc
230K / 191K
64/64 BS
1123
32/64 X2
78.6
32/64
1199K
64/64 BS
Alpha 21164PC
533 MHz
1.7.9 Linux gcc 2.95.3 linux-alpha removed -Os in OPT_INLINE
226K / 185K
64/64 BS
813
32/64 X2
80.3
32/64
1340K
64/64 BS
Alpha 21164PC
533 MHz
1.7.9 Linux gcc 3.4.5 linux-alpha
216K / 173K
64/64 BS
1123
32/64 X2
84.7
32/64
1110K
64/64 BS
Alpha 21164PC
533 MHz
1.7.3.1 Linux gcc 2.95.3 linux-alpha
213K / 183K
64/64 BS
1192
32/64 X2
100
32/64
1719K
64/64 BS
UltraSPARC-T2
1167 MHz
1.7.3.1 Solaris 10 SSX0903 solaris-sparc64-cc -xchip=ultraT2
198K / 170K
64/64 BS
788
32/64 X2
57
32/64
1236K
64/64 BS
UltraSPARC IIs
Blackbird 400 MHz
1.7.3.1 Solaris 10 Sun Studio 12.1 solaris-sparc64-cc
155K / 137K
64/64 BS
1128
32/64 X2
90
32/64
1348K
64/64 BS
UltraSPARC-T2
1167 MHz
1.7.3.1 Solaris 10 gcc 3.4.3 solaris-sparc64-gcc -mcpu=ultrasparc3
154K / 149K
64/64 MMX
1046
32/32
78.5
32/32 X2
2392K
64/64 MMX
K6-2
500 MHz
1.8.0 Linux gcc 4.8.1 linux-x86-mmx -march=k6-2
139K / 119K
64/64 BS
507
32/64 X2
80.3
32/64
1002K
64/64 BS
Alpha 21164PC
533 MHz
1.7.3.1 Linux gcc 3.4.5 linux-alpha
134K / 131K
128/128 NEON
1494
32/32 X2
84.0
32/32
2292K
128/128 NEON
Cortex-A9 666 MHz
(in Xilinx Zynq 7020)
1.8.0.1 Linux gcc 4.6.1
Ubuntu/Linaro 4.6.1-9ubuntu3
linux-arm32le-neon
127K / 124K
32/32
1339
32/32
141.0
32/32 X2
2259K
32/32
PA-8600
552 MHz
1.8.0 Linux gcc 4.5.2 generic
122K / 107K
64/64 BS
1016
32/64 X2
70.6
32/64
1036K
64/64 BS
Alpha 21164PC
533 MHz
1.7.3.1 Linux Compaq C
V6.2-002
linux-alpha-ccc
114K / 109K
32/32 BS
1850
32/32 X2
101
32/32
2060K
64/64 BS
Apple A4
1 Ghz
1.7.9 Darwin gcc-llvm 4.2.1 arm-apple-darwin10 -march=armv7-a -mtune=cortex-a8 (iphone 4)
108K / 97K
64/64 BS
675
32/64 X2
58.1
32/64
765K
64/64 BS
UltraSPARC IIi
333 MHz
1.7.3.1 NetBSD gcc 3.3.3
nb3 20040520
netbsd-sparc64
107K / 97K
64/64 BS MMX
868
32/32
60.0
32/32
945K
64/64 BS MMX
Pentium II
350 MHz
1.7.3.1 Linux gcc 2.7.2.3 linux-x86-mmx
95K / 94K
128/128 NEON
1378
32/32 X2
86.0
32/32
1713K
128/128 NEON
ARM Cortex-A8
600 MHz
1.8.0.1 Linux
(Nokia N900)
gcc 4.6.1-maemo6 linux-arm32le-neon -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon
76K / 74K
32/32
912
32/32 X2
52.5
32/32
1255K
32/32
AR9344
560 MHz
1.8.0 Linux gcc 4.6.3 linux-mips32 -mips32r2, custom Makefile
66K / 63K
32/32 BS
804
32/32 X2
76.8
32/32
876K
32/32 BS
UltraSPARC IIi
400 MHz
1.7-owl2
package
Linux gcc 3.4.5 linux-sparc
(32-bit userland)
CFLAGS
62K / 58K
32/32 BS
775
32/32 X2
59.5
32/32
757K
32/32 BS
PowerPC 750 (G3)
300 MHz
1.7.5 NetBSD 5.0.2 gcc 4.1.3 netbsd-ppc32
61K / 56K
32/32 BS
706
32/32 X2
56.2
32/32
696K
32/32 BS
UltraSPARC IIi
400 MHz
1.7.3.1 Linux gcc 3.4.5 linux-sparc
(32-bit userland)
59K / 56K
32/32 BS
500
32/32 X2
39.5
32/32
712K
32/32 BS
UltraSPARC IIs
Blackbird 400 MHz
1.7.3.1 Linux gcc 4.3.2
debian 5.0.2
linux-sparc
58K / 56K
64/64 MMX
520
32/32
25.4
32/32 X2
894K
64/64 MMX
Pentium MMX
200 MHz
1.8.0 Linux gcc 4.8.1 linux-x86-mmx -march=pentium-mmx
47K / 45K
32/32 BS
552
32/32 X2
44.9
32/32
577K
32/32 BS
PowerPC 604e
225 MHz
1.7.5 NetBSD 5.0.2 gcc 4.1.3 netbsd-ppc32
45K / 43K
32/32 BS
740
32/32
53.5
32/32
600K
32/32 BS
Pentium II
350 MHz
1.7.3.1 Linux gcc 2.7.2.3 generic
(non-optimal)
44K / 43K
32/32
645
32/32 X2
42.2
32/32
804K
32/32
SD5113
530 MHz
1.8.0.2 Linux gcc 4.6.3 linux-arm32le -mcpu=arm1136j-s
39K / 36K
24/32 4K
868
32/32
60.0
32/32
600K
32/32 BS
Pentium II
350 MHz
1.7.3.1 Linux gcc 2.7.2.3 linux-x86-any
(non-optimal)
25K / 24K
32/32 BS
295
32/32 X2
24.0
32/32
305K
32/32 BS
PowerPC 604
120 MHz
1.7.5 NetBSD 5.0.2 gcc 4.1.3 netbsd-ppc32
13K / 12K
32/32x8V BS
119
32/32 X2
13.8
32/32
138K
32/32x8V BS
PA-RISC 7100LC
80 MHz
1.7.3.1 HP-UX 10.20 gcc 2.95.2 hpux-pa-risc-gcc
10K / 9K
24/32 4K
201
32/32
17.3
32/32
224K
32/32
K5 PR75
75 MHz
1.8.0 Linux gcc 4.7.3 linux-x86-any
9438 / 8654
24/32 4K
254
32/32
16.6
32/32
202K
32/32
Pentium
100 MHz
1.8.0 Linux gcc 4.7.3 linux-x86-any -march=pentium
1679 / 1632
32/32 BS
74
32/32
4.0
32/32
33.4K
32/32 BS
PP5021C (x2)
80 MHz
1.7.2 Linux-iPod2
(1st Gen. iPod Nano)
gcc 3.4.3 linux-arm
(custom target)
992 / 972
32/32 BS
35
32/32
2.0
32/32
19K
32/32 BS
PP5002 (x2)
90 MHz
1.7.2 Linux-iPod2
(3G iPod)
gcc 3.4.3 linux-arm
(custom target)
890 / 877
32/32 BS
20
32/32
1.7
32/32
17K
32/32 BS
68040
37 MHz
1.7.5 NetBSD 5.0.2
(Mac Quadra 700)
gcc 4.1.3 netbsd-mac68k
709 / 669
24/32 4K
23.3
32/32
1.3
32/32
17K
32/32
Am386DX
40 MHz
1.8.0 FreeDOS gcc 4.5.2 dos-djgpp-x86-any

GPU benchmarks

  • These can vary highly with different JtR, driver and platform versions.
  • per-hash LWS and GWS are important as much
  • real numbers are to be put there, virtual are useless on GPUs
descrypt-opencl
many/one salt
md5crypt-opencl
many/one salt
bcrypt-opencl LM-opencl JtR OS Device Name Driver Version Platform Version
38358K / 36390K
LWS=64 GWS=16384
1288K / 1259K
LWS=32 GWS=98304
846
LWS=8 GWS=1024
877399K
LWS=128 GWS=65536
1.9.0-jumbo-1+bleeding-ce068233d linux-gnu GeForce GT 1030 460.91.03 OpenCL 1.2 CUDA 11.2.162
33242K / 28356K
LWS=128 GWS=32768
284928 / 279552
LWS=64 GWS=1536
748
LWS=4 GWS=4096
Debian GNU/Linux 11 AMD R7 M360 DRM 3.40.0 20.3.5 OpenCL 1.1 Mesa 20.3.5
5454K / 5420K
LWS=16 GWS=8192
173070 / 173070
LWS=256 GWS=24576
364
LWS=8 GWS=1024
274252K
LWS=32 GWS=65536
1.9.0-jumbo-1+bleeding-ce068233d Debian GNU/Linux 11 Intel(R) HD Graphics 520 1.0.0 OpenCL 3.0
960909 / 956377
LWS=16 GWS=4096
193
LWS=8 GWS=128
57006K
LWS=512 GWS=8192
1.9.0-jumbo-1+bleeding-ce068233d Debian GNU/Linux 11 Intel(R) HD Graphics 4600 (HSW GT2) 1.3 OpenCL 1.2 beignet 1.3

What (not) to submit

Please note that for 32-bit x86 targets (those with x86-any, x86-mmx, and x86-sse2 in their names), the C compiler and its version are largely irrelevant, because almost all of the performance-critical code is written in assembly language anyway. The above table specifies the compiler and version in all cases, but for these targets there's no need to submit multiple almost identical results that differ only in compiler choice and/or version.

For x86-64 targets there should be almost no performance difference across compilers/versions for DES-based crypt(3) hashes, for the same reason. However, other hash types may actually be affected by C compiler and its version, so multiple entries may be submitted.

Windows LanMan hashes are so very fast that their performance is significantly affected by various types of overhead, and you should not be surprised if performance changes by as much as 10% or even more between JtR builds and even between invocations (e.g., because of different code placement in caches), even though JtR tries to mitigate this effect to some extent. Thus, benchmarks that differ from existing ones for the same CPU and clock rate only at LanMan hashes are generally of little value, unless the difference is well over 10% and/or it is for a specific (known) reason (such as a relevant code change between JtR versions).

With few exceptions, the operating system should not significantly affect JtR performance, however it affects what JtR versions and make targets you may use and what compilers and versions are available. Hence, it makes sense to list it and also to include benchmarks on the same hardware, but with different operating systems (and thus with different make targets). Luckily, there are not as many different operating systems as there are different gcc versions. Multiple benchmarks for different versions of the same operating system flavor, with everything else staying the same as well, should not be listed. If desired, for clarity, listings with obsolete operating system versions may be replaced with those for currently maintained ones.

That said, if in doubt whether your benchmark results are of value, please do submit them, and please do not be offended if they are moved to another table or sub-page meant to hold likely insignificant results (yet to be created, if the need arises).

If you feel that a benchmark result is insignificant (given the criteria above) or incorrect, please move it into another table (create one) and indicate the reason for your decision in the “edit summary” for your change to this wiki page.

Thank you!

Back to John the Ripper user community resources.

1) OpenMP scaling for LM hashes is currently very poor - fewer threads would give better LM hash speeds
2) , 5) Would likely be faster with the linux-x86-64i make target
3) , 7) Would likely be faster with HT enabled
4) On this machine, logical CPUs 0-11 appeared to correspond to the 12 physical cores, and 12-23 to siblings in the same cores
6) Reported as 4294M since limited by a 32-bit integer
8) Core i7 920 is also benchmarked non-overclocked, see below in the table
9) Core i7 920 is also benchmarked overclocked, see above in the table
john/benchmarks.txt · Last modified: 2021/11/22 16:46 by fantomas
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux