aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
authorpawel <pawel@FreeBSD.org>2014-01-31 21:40:21 +0800
committerpawel <pawel@FreeBSD.org>2014-01-31 21:40:21 +0800
commit5cee45ab75bd61e119c7b36c8edb6880f97bbce4 (patch)
treec4e7c1bc7a19727a91d24f518977ebe8893dd976 /benchmarks
parent3c516ad7fc17322e00bc9c4526cf8373e61bc79e (diff)
downloadfreebsd-ports-gnome-5cee45ab75bd61e119c7b36c8edb6880f97bbce4.tar.gz
freebsd-ports-gnome-5cee45ab75bd61e119c7b36c8edb6880f97bbce4.tar.zst
freebsd-ports-gnome-5cee45ab75bd61e119c7b36c8edb6880f97bbce4.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>
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/