1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

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>
This commit is contained in:
Pawel Pekala 2014-01-31 13:40:21 +00:00
parent 9283ec7f2a
commit 97fe3ab28b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=341993
5 changed files with 103 additions and 0 deletions

View File

@ -58,6 +58,7 @@
SUBDIR += postmark
SUBDIR += pybench
SUBDIR += raidtest
SUBDIR += ramspeed
SUBDIR += randomio
SUBDIR += rubygem-railsbench
SUBDIR += scimark2

View File

@ -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>

View File

@ -0,0 +1,2 @@
SHA256 (ramsmp-3.5.0.tar.gz) = 39fb15493fb3c293575746d56f6ab9faaa1d876d8b1f0d8e5a4042d2ace95839
SIZE (ramsmp-3.5.0.tar.gz) = 79481

View File

@ -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

View File

@ -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/