Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 15:28:23 -0500
From:      "George Neville-Neil" <gnn@neville-neil.com>
To:        "George V. Neville-Neil" <gnn@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r382863 - in head/benchmarks: . smhasher smhasher/files
Message-ID:  <BA66966F-BBC6-465B-AF9F-67EE00EFED03@neville-neil.com>
In-Reply-To: <201503312025.t2VKPOj8092680@svn.freebsd.org>
References:  <201503312025.t2VKPOj8092680@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
For the record.  This port includes patches from Jim Thompson.

Best,
George


On 31 Mar 2015, at 15:25, George V. Neville-Neil wrote:

> 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?BA66966F-BBC6-465B-AF9F-67EE00EFED03>