aboutsummaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2014-01-31 13:40:21 +0000
committerPawel Pekala <pawel@FreeBSD.org>2014-01-31 13:40:21 +0000
commit97fe3ab28b6675ce69c23347988532bf435f31c8 (patch)
treec4e7c1bc7a19727a91d24f518977ebe8893dd976 /benchmarks
parent9283ec7f2a9b0907103e580e5baa29cb8b964ebe (diff)
downloadports-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/Makefile1
-rw-r--r--benchmarks/ramspeed/Makefile29
-rw-r--r--benchmarks/ramspeed/distinfo2
-rw-r--r--benchmarks/ramspeed/files/patch-build.sh56
-rw-r--r--benchmarks/ramspeed/pkg-descr15
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/