aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/ramspeed
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/ramspeed')
-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
4 files changed, 102 insertions, 0 deletions
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/