Bug 186108 - New port: benchmarks/ramspeed a cache and memory benchmarking tool
Summary: New port: benchmarks/ramspeed a cache and memory benchmarking tool
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pawel Pekala
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-25 20:40 UTC by mkamm
Modified: 2014-01-31 13:50 UTC (History)
0 users

See Also:


Attachments
file.shar (4.58 KB, text/plain)
2014-01-25 20:40 UTC, mkamm
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description mkamm 2014-01-25 20:40:01 UTC

Fix: Patch attached with submission follows:
Comment 1 Pawel Pekala freebsd_committer freebsd_triage 2014-01-31 13:28:27 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pawel

I'll take it.
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-01-31 13:40:30 UTC
Author: pawel
Date: Fri Jan 31 13:40:21 2014
New Revision: 341993
URL: http://svnweb.freebsd.org/changeset/ports/341993
QAT: https://qat.redports.org/buildarchive/r341993/

Log:
  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>

Added:
  head/benchmarks/ramspeed/
  head/benchmarks/ramspeed/Makefile   (contents, props changed)
  head/benchmarks/ramspeed/distinfo   (contents, props changed)
  head/benchmarks/ramspeed/files/
  head/benchmarks/ramspeed/files/patch-build.sh   (contents, props changed)
  head/benchmarks/ramspeed/pkg-descr   (contents, props changed)
Modified:
  head/benchmarks/Makefile

Modified: head/benchmarks/Makefile
==============================================================================
--- head/benchmarks/Makefile	Fri Jan 31 13:36:44 2014	(r341992)
+++ head/benchmarks/Makefile	Fri Jan 31 13:40:21 2014	(r341993)
@@ -58,6 +58,7 @@
     SUBDIR += postmark
     SUBDIR += pybench
     SUBDIR += raidtest
+    SUBDIR += ramspeed
     SUBDIR += randomio
     SUBDIR += rubygem-railsbench
     SUBDIR += scimark2

Added: head/benchmarks/ramspeed/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/ramspeed/Makefile	Fri Jan 31 13:40:21 2014	(r341993)
@@ -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>

Added: head/benchmarks/ramspeed/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/ramspeed/distinfo	Fri Jan 31 13:40:21 2014	(r341993)
@@ -0,0 +1,2 @@
+SHA256 (ramsmp-3.5.0.tar.gz) = 39fb15493fb3c293575746d56f6ab9faaa1d876d8b1f0d8e5a4042d2ace95839
+SIZE (ramsmp-3.5.0.tar.gz) = 79481

Added: head/benchmarks/ramspeed/files/patch-build.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/ramspeed/files/patch-build.sh	Fri Jan 31 13:40:21 2014	(r341993)
@@ -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
+ 

Added: head/benchmarks/ramspeed/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/ramspeed/pkg-descr	Fri Jan 31 13:40:21 2014	(r341993)
@@ -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/
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Pawel Pekala freebsd_committer freebsd_triage 2014-01-31 13:40:44 UTC
State Changed
From-To: open->closed

New port added, with minor changes. Thanks!