Date: Tue, 31 Mar 2015 20:25:24 +0000 (UTC) From: "George V. Neville-Neil" <gnn@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r382863 - in head/benchmarks: . smhasher smhasher/files Message-ID: <201503312025.t2VKPOj8092680@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503312025.t2VKPOj8092680>