diff options
author | Pawel Pekala <pawel@FreeBSD.org> | 2014-01-31 13:40:21 +0000 |
---|---|---|
committer | Pawel Pekala <pawel@FreeBSD.org> | 2014-01-31 13:40:21 +0000 |
commit | 97fe3ab28b6675ce69c23347988532bf435f31c8 (patch) | |
tree | c4e7c1bc7a19727a91d24f518977ebe8893dd976 /benchmarks | |
parent | 9283ec7f2a9b0907103e580e5baa29cb8b964ebe (diff) | |
download | ports-97fe3ab28b6675ce69c23347988532bf435f31c8.tar.gz ports-97fe3ab28b6675ce69c23347988532bf435f31c8.zip |
RAMspeed is a command line utility to measure cache and memory performance of
computer systems. It offers 18 cache and memory benchmarks for i386 and amd64
machines, though 6 only for alpha ones. There are *mark benchmarks such as
INTmark, FLOATmark, MMXmark and SSEmark. They operate with linear (sequential)
data streams passed through ALU, FPU, MMX and SSE units respectively.
There are also *mem benchmarks such as INTmem, FLOATmem, MMXmem and SSEmem.
These are supposed to illustrate how fast is actual read/write memory
performance. There are also non-temporal versions of MMX and SSE benchmarks.
They have been coded with special instructions to minimise cache pollution on
memory reads and to eliminate it completely on memory writes. In addition, they
operate with a built in aggressive data prefetching algorithm. In some cases,
non-temporal MMXmark and SSEmark can deliver almost 100% of theoretical
bandwidth while reading.
WWW: http://alasir.com/software/ramspeed/
PR: ports/186108
Submitted by: Martin Kammerhofer <mkamm@gmx.net>
Notes
Notes:
svn path=/head/; revision=341993
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/Makefile | 1 | ||||
-rw-r--r-- | benchmarks/ramspeed/Makefile | 29 | ||||
-rw-r--r-- | benchmarks/ramspeed/distinfo | 2 | ||||
-rw-r--r-- | benchmarks/ramspeed/files/patch-build.sh | 56 | ||||
-rw-r--r-- | benchmarks/ramspeed/pkg-descr | 15 |
5 files changed, 103 insertions, 0 deletions
diff --git a/benchmarks/Makefile b/benchmarks/Makefile index 0338458e645b..2b6e24305c51 100644 --- a/benchmarks/Makefile +++ b/benchmarks/Makefile @@ -58,6 +58,7 @@ SUBDIR += postmark SUBDIR += pybench SUBDIR += raidtest + SUBDIR += ramspeed SUBDIR += randomio SUBDIR += rubygem-railsbench SUBDIR += scimark2 diff --git a/benchmarks/ramspeed/Makefile b/benchmarks/ramspeed/Makefile new file mode 100644 index 000000000000..463ebf39e54d --- /dev/null +++ b/benchmarks/ramspeed/Makefile @@ -0,0 +1,29 @@ +# $FreeBSD$ + +PORTNAME= ramspeed +PORTVERSION= 3.5.0 +CATEGORIES= benchmarks +MASTER_SITES= http://www.alasir.com/software/ramspeed/ +DISTNAME= ramsmp-${PORTVERSION} + +MAINTAINER= mkamm@gmx.net +COMMENT= Cache and memory benchmarking tool + +NO_CDROM= do not sell for money +LICENSE= ALASIR +LICENSE_NAME= Alasir Licence +LICENSE_FILE= ${WRKSRC}/LICENCE +LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell + +PLIST_FILES= bin/ramspeed +PORTDOCS= HISTORY README + +do-build: + cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${SH} build.sh + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/ramsmp ${STAGEDIR}${PREFIX}/bin/ramspeed + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|g} ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/benchmarks/ramspeed/distinfo b/benchmarks/ramspeed/distinfo new file mode 100644 index 000000000000..7a9ac9087adb --- /dev/null +++ b/benchmarks/ramspeed/distinfo @@ -0,0 +1,2 @@ +SHA256 (ramsmp-3.5.0.tar.gz) = 39fb15493fb3c293575746d56f6ab9faaa1d876d8b1f0d8e5a4042d2ace95839 +SIZE (ramsmp-3.5.0.tar.gz) = 79481 diff --git a/benchmarks/ramspeed/files/patch-build.sh b/benchmarks/ramspeed/files/patch-build.sh new file mode 100644 index 000000000000..9d703b275db5 --- /dev/null +++ b/benchmarks/ramspeed/files/patch-build.sh @@ -0,0 +1,56 @@ +--- build.sh.orig 2007-11-01 22:00:00.000000000 +0100 ++++ build.sh 2014-01-25 19:53:28.000000000 +0100 +@@ -15,6 +15,16 @@ + if [ "$1" ]; then OS=$1; fi + if [ "$2" ]; then ARCH=$2; fi + ++# respect the user's options patch here ++echo " " ++echo "=== this is RAMspeed's build script ====================================" ++echo " " ++if [ -n "$CC" -a \( -n "$LD" -o -n "$AS" -o -n "$CFLAGS" -o -n "$LDFLAGS" \) ] ++then ++ _CC=$CC;_LD=$LD;_AS=$AS;_CFLAGS=$CFLAGS;_LDFLAGS=$LDFLAGS;_respect=yes ++fi ++# end of patch ++ + case $OS in + + FreeBSD) +@@ -127,10 +137,20 @@ + esac + + echo "building for $OS $RELEASE $ARCH" +-echo "compiler is $CC, linker is $LD, assembler is $AS" +-echo "compiler's flags are $CFLAGS" +-echo "linker's flags are $LFLAGS" ++echo "compiler is '$CC', linker is '$LD', assembler is '$AS'" ++echo "compiler's flags are '$CFLAGS'" ++echo "linker's flags are '$LFLAGS'" + echo " " ++# respect the user's options patch here ++if [ X"$_respect" = Xyes ] ; then ++ CC=$_CC;LD=$_CC;AS=${_AS:-$AS};CFLAGS=$_CFLAGS;LFLAGS=$_LDFLAGS ++ echo "OVERRIDING build script defaults with your system's defaults:" ++ echo "compiler is '$CC', linker is '$LD', assembler is '$AS'" ++ echo "compiler's flags are '$CFLAGS'" ++ echo "linker's flags are '$LFLAGS'" ++ echo " " ++fi ++# end of patch + + if [ $TARGET = "GENERIC" ] + then echo "WARNING! BUILDING FOR AN UNSUPPORTED OPERATING SYSTEM AND\OR ARCHITECTURE!" +@@ -139,8 +159,10 @@ + echo " " + fi + +-echo "press Enter to continue or Control-C to abort" +-read ANS ++if [ X"$_respect" != Xyes -a -t 0 -a -t 1 ] ; then ++ echo "press Enter to continue or Control-C to abort" ++ read ANS ++fi + + case $TARGET in + diff --git a/benchmarks/ramspeed/pkg-descr b/benchmarks/ramspeed/pkg-descr new file mode 100644 index 000000000000..ef9396c1bc5e --- /dev/null +++ b/benchmarks/ramspeed/pkg-descr @@ -0,0 +1,15 @@ +RAMspeed is a command line utility to measure cache and memory performance of +computer systems. It offers 18 cache and memory benchmarks for i386 and amd64 +machines, though 6 only for alpha ones. There are *mark benchmarks such as +INTmark, FLOATmark, MMXmark and SSEmark. They operate with linear (sequential) +data streams passed through ALU, FPU, MMX and SSE units respectively. +There are also *mem benchmarks such as INTmem, FLOATmem, MMXmem and SSEmem. +These are supposed to illustrate how fast is actual read/write memory +performance. There are also non-temporal versions of MMX and SSE benchmarks. +They have been coded with special instructions to minimise cache pollution on +memory reads and to eliminate it completely on memory writes. In addition, they +operate with a built in aggressive data prefetching algorithm. In some cases, +non-temporal MMXmark and SSEmark can deliver almost 100% of theoretical +bandwidth while reading. + +WWW: http://alasir.com/software/ramspeed/ |