Subject: security/john doesn't use optimised build types
To: None <pkgsrc-users@netbsd.org>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: pkgsrc-users
Date: 11/01/2006 15:10:45
security/john has assembler versions of some of its functions which can be
selected by specifying a different make target. It has a number of OpenBSD
targets, but I don't see any reason why these shouldn't be the same for
NetBSD (certainly the Makefile sections are the same for OpenBSD and
FreeBSD). Therefore, we ought to add something like the following to
Makefile:
--- Makefile.orig 2006-11-01 15:01:06.000000000 +0000
+++ Makefile 2006-11-01 15:01:06.000000000 +0000
@@ -29,6 +29,20 @@
. endif
.elif ${OPSYS} == "SunOS" && ${MACHINE_ARCH} == "i386"
BUILD_TARGET= solaris-x86-any
+.elif ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD"
+. if ${MACHINE_ARCH} == "i386"
+BUILD_TARGET= openbsd-x86-any
+. elif ${MACHINE_ARCH} == "sparc64"
+BUILD_TARGET= openbsd-sparc64
+. elif ${MACHINE_ARCH} == "sparc"
+BUILD_TARGET= openbsd-sparc
+. elif ${MACHINE_ARCH} == "alpha"
+BUILD_TARGET= openbsd-alpha
+. elif ${MACHINE_ARCH} == "powerpc"
+BUILD_TARGET= openbsd-powerpc
+. else
+BUILD_TARGET= generic
+. endif
.else
BUILD_TARGET= generic
.endif
The speed differences are significant. Here's the standard generic
benchmark (using a newer version than we have in pkgsrc, but I see no
reason for a major difference):
Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts: 293290 c/s real, 297450 c/s virtual
Only one salt: 278119 c/s real, 278489 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts: 10238 c/s real, 10484 c/s virtual
Only one salt: 10335 c/s real, 10384 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 5201 c/s real, 5259 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw: 429 c/s real, 431 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short: 261132 c/s real, 262440 c/s virtual
Long: 596592 c/s real, 606953 c/s virtual
Benchmarking: NT LM DES [32/32 BS]... DONE
Raw: 3072K c/s real, 3095K c/s virtual
Compare this to openbsd-x86-sse2:
Benchmarking: Traditional DES [128/128 BS SSE2]... DONE
Many salts: 822419 c/s real, 827373 c/s virtual
Only one salt: 740509 c/s real, 741990 c/s virtual
Benchmarking: BSDI DES (x725) [128/128 BS SSE2]... DONE
Many salts: 28308 c/s real, 28308 c/s virtual
Only one salt: 27592 c/s real, 27759 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 7965 c/s real, 7997 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw: 394 c/s real, 402 c/s virtual
Benchmarking: Kerberos AFS DES [48/64 4K MMX]... DONE
Short: 172761 c/s real, 173107 c/s virtual
Long: 464734 c/s real, 470367 c/s virtual
Benchmarking: NT LM DES [128/128 BS SSE2]... DONE
Raw: 6068K c/s real, 6068K c/s virtual
Shall I send-pr this?
--
Stephen