svn commit: r382863 - in head/benchmarks: . smhasher smhasher/files

George V. Neville-Neil gnn at FreeBSD.org
Tue Mar 31 20:25:26 UTC 2015


Author: gnn
Date: Tue Mar 31 20:25:23 2015
New Revision: 382863
URL: https://svnweb.freebsd.org/changeset/ports/382863
QAT: https://qat.redports.org/buildarchive/r382863/

Log:
  Add SMHasher hashing benchmark and test system as a new port.
  
  SMHasher is a test suite designed to test the distribution, collision,
  and performance properties of non-cryptographic hash functions -
  it aims to be the "DieHarder" of hash testing, and does a pretty
  good job of finding flaws with a number of popular hashes.
  
  The SMHasher suite also includes MurmurHash3, which is the latest
  version in the series of MurmurHash functions - the new version is
  faster, more robust, and its variants can produce 32- and 128-bit
  hash values efficiently on both x86 and x64 platforms.
  
  https://code.google.com/p/smhasher/

Added:
  head/benchmarks/smhasher/
  head/benchmarks/smhasher/Makefile   (contents, props changed)
  head/benchmarks/smhasher/distinfo   (contents, props changed)
  head/benchmarks/smhasher/files/
  head/benchmarks/smhasher/files/patch-smhasher-Platform.cpp   (contents, props changed)
  head/benchmarks/smhasher/files/patch-smhasher-Platform.h   (contents, props changed)
  head/benchmarks/smhasher/pkg-descr   (contents, props changed)
Modified:
  head/benchmarks/Makefile

Modified: head/benchmarks/Makefile
==============================================================================
--- head/benchmarks/Makefile	Tue Mar 31 20:16:05 2015	(r382862)
+++ head/benchmarks/Makefile	Tue Mar 31 20:25:23 2015	(r382863)
@@ -66,6 +66,7 @@
     SUBDIR += siege
     SUBDIR += sipp
     SUBDIR += slowloris
+    SUBDIR += smhasher
     SUBDIR += spp
     SUBDIR += stream
     SUBDIR += super-smack

Added: head/benchmarks/smhasher/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/smhasher/Makefile	Tue Mar 31 20:25:23 2015	(r382863)
@@ -0,0 +1,26 @@
+# Created by: gnn
+# $FreeBSD$
+
+PORTNAME=	smhasher
+PORTVERSION=	1.0
+PORTREVISION=	1
+CATEGORIES=	benchmarks
+
+MAINTAINER=	gnn at FreeBSD.org
+COMMENT=	Hash Algorithm Benchmarking
+
+LICENSE=	MIT
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	gvnn3
+GH_PROJECT=	smhasher
+DISTVERSIONPREFIX=	v
+
+USES=		cmake
+
+PLIST_FILES=	bin/SMHasher
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/SMHasher ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>

Added: head/benchmarks/smhasher/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/smhasher/distinfo	Tue Mar 31 20:25:23 2015	(r382863)
@@ -0,0 +1,2 @@
+SHA256 (smhasher-v1.0_GH0.tar.gz) = cd40a370b59446a4a70be0a6399bd9df4944adf6c1854c23dc0ff61fa7011e76
+SIZE (smhasher-v1.0_GH0.tar.gz) = 61909

Added: head/benchmarks/smhasher/files/patch-smhasher-Platform.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/smhasher/files/patch-smhasher-Platform.cpp	Tue Mar 31 20:25:23 2015	(r382863)
@@ -0,0 +1,41 @@
+--- Platform.cpp	2015-03-30 17:26:46.000000000 -0400
++++ Platform.cpp.new	2015-03-30 17:26:56.000000000 -0400
+@@ -19,6 +19,38 @@
+   SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
+ }
+ 
++#elif __FreeBSD__
++
++#include <string.h>
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/param.h>
++#include <sys/cpuset.h>
++
++void
++SetAffinity(int cpu)
++{
++    cpuset_t mask;
++    unsigned int i;
++
++    fprintf(stdout, "SetAffinity called with arg %d\n", cpu);
++
++    CPU_ZERO(&mask);
++    i = 0;
++    do {
++        if (cpu & 1) {
++            CPU_SET(i, &mask);
++        }
++        i++;
++        cpu >>= 1;
++    } while (cpu);
++
++    if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, sizeof(cpuset_t), &mask) == -1)
++    {
++        fprintf(stderr, "SetAffinity() failed.  %s", strerror(errno));
++    }
++}
++
+ #else
+ 
+ #include <sched.h>

Added: head/benchmarks/smhasher/files/patch-smhasher-Platform.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/smhasher/files/patch-smhasher-Platform.h	Tue Mar 31 20:25:23 2015	(r382863)
@@ -0,0 +1,12 @@
+--- Platform.h	2015-03-30 17:28:57.000000000 -0400
++++ Platform.h.new	2015-03-30 17:28:51.000000000 -0400
+@@ -39,6 +39,9 @@
+ #else	//	defined(_MSC_VER)
+ 
+ #include <stdint.h>
++#if defined(__FreeBSD__)
++#include <stdlib.h>
++#endif
+ 
+ #define	FORCE_INLINE inline __attribute__((always_inline))
+ #define	NEVER_INLINE __attribute__((noinline))

Added: head/benchmarks/smhasher/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/smhasher/pkg-descr	Tue Mar 31 20:25:23 2015	(r382863)
@@ -0,0 +1,4 @@
+SMHasher is a test suite designed to test the distribution, collision,
+and performance properties of non-cryptographic hash functions - it
+aims to be the "DieHarder" of hash testing, and does a pretty good job
+of finding flaws with a number of popular hashes.


More information about the svn-ports-head mailing list