pkgsrc-Users archive

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

security/john doesn't use optimised build types



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




Home | Main Index | Thread Index | Old Index