aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--benchmarks/bonnie/Makefile23
-rw-r--r--benchmarks/bonnie/distinfo1
-rw-r--r--benchmarks/bonnie/files/patch-aa97
-rw-r--r--benchmarks/bonnie/pkg-comment1
-rw-r--r--benchmarks/bonnie/pkg-descr17
-rw-r--r--benchmarks/bonnie/pkg-plist6
6 files changed, 145 insertions, 0 deletions
diff --git a/benchmarks/bonnie/Makefile b/benchmarks/bonnie/Makefile
new file mode 100644
index 000000000000..d5bb05dde259
--- /dev/null
+++ b/benchmarks/bonnie/Makefile
@@ -0,0 +1,23 @@
+# New ports collection makefile for: bonnie
+# Version required:
+# Date created: 26 September 1994
+# Whom: se
+#
+# $Id$
+#
+
+DISTNAME= Bonnie
+PKGNAME= bonnie-1.0
+CATEGORIES+= utilities benchmarking
+MASTER_SITES= ftp://ftp.sunet.se/pub/benchmark/Bonnie/ \
+ ftp://swedishchef.lerc.nasa.gov/drlabs/io/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= se@FreeBSD.org
+
+CFLAGS+= -static
+
+post-install:
+ gzip -9nf ${PREFIX}/man/man1/bonnie.1
+
+.include <bsd.port.mk>
diff --git a/benchmarks/bonnie/distinfo b/benchmarks/bonnie/distinfo
new file mode 100644
index 000000000000..a78cbe88942e
--- /dev/null
+++ b/benchmarks/bonnie/distinfo
@@ -0,0 +1 @@
+MD5 (Bonnie.tar.Z) = 23f73cd45caabb510b4f2bdc6dfa6ff0
diff --git a/benchmarks/bonnie/files/patch-aa b/benchmarks/bonnie/files/patch-aa
new file mode 100644
index 000000000000..7d4e7e90089e
--- /dev/null
+++ b/benchmarks/bonnie/files/patch-aa
@@ -0,0 +1,97 @@
+diff -C2 Makefile~ Makefile
+*** Makefile~ Wed Aug 21 17:19:11 1991
+--- Makefile Thu May 18 20:27:19 1995
+***************
+*** 1,7 ****
+
+! CC = cc
+! CFLAGS = -O2
+
+! all: Bonnie
+!
+! Bonnie:
+--- 1,10 ----
++ all: bonnie
+
+! bonnie:
+! $(CC) $(CFLAGS) -static -o bonnie Bonnie.c
+
+! install:
+! -@mkdir -p ${PREFIX}/bin
+! -@mkdir -p ${PREFIX}/man/man1
+! ${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} bonnie ${PREFIX}/bin
+! ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 bonnie.1 ${PREFIX}/man/man1
+diff -C2 /dev/null bonnie.1
+*** /dev/null Thu May 18 20:25:21 1995
+--- bonnie.1 Thu May 18 20:26:47 1995
+***************
+*** 0 ****
+--- 1,68 ----
++ .\" The following requests are required for all man pages.
++ .Dd May 18, 1995
++ .Os UNIX
++ .Dt BONNIE 1
++ .Sh NAME
++ .Nm bonnie
++ .Nd Performance Test of Filesystem I/O
++ .Sh SYNOPSIS
++ .Nm bonnie
++ .Op Fl d Ar scratch-dir
++ .Op Fl s Ar size-in-MB
++ .Op Fl m Ar machine-label
++
++ .Sh DESCRIPTION
++ .Nm Bonnie
++ tests the speed of file I/O from standard C library calls.
++ It reads and writes 8KB blocks to find the maximum sustained
++ data rate (usually limited by the drive or controller) and additionally
++ rewrites the file (better simulating normal operating conditions and
++ quite dependent on drive and OS optimisations).
++
++ The per character read and write tests are generally limited by CPU speed
++ only on current generation hardware. It takes some 35 SPECint92 to read
++ or write a file at a rate of 1MB/s using getc() and putc().
++
++ The seek test results depend on the buffer cache size, since the fraction
++ of disk blocks that fits into the buffer cache will be found without any
++ disk operation and will contribute zero seek time samples.
++ (See
++ .Sx BUGS
++ below.)
++
++ .Sh OPTIONS
++ .Bl -tag -width indent
++ .It Fl d Ar scratch-dir
++ Specify the directory where the test file gets written. The default
++ is the current directory. Make sure there is sufficient free space
++ available on the partition this directory resides in.
++ .It Fl s Ar size-in-MB
++ Specify the size of the test file in MByte. This much space must be
++ available for the tests to complete.
++ .It Fl m Ar machine-label
++ Specify a label to be written in the first column of the result table.
++ .El
++
++ .Sh SEE ALSO
++ .Xr iozone 1 ,
++ .Xr iostat 8
++
++ .Sh AUTHOR
++ .Nm Bonnie
++ was written by Tim Bray <tbray@watsol.waterloo.edu>.
++
++ .Sh BUGS
++ .Nm Bonnie
++ tries hard to measure disk performance and not the quality of the
++ buffer cache implementation. In merged buffer caches common today,
++ the buffer cache size is often only limited by total RAM on an otherwise
++ unloaded system. Be sure to use a file at least twice at large as
++ available RAM to protect against artificially high results.
++
++ There is no way to keep the buffer cache from increasing the reported
++ seek rate. This is because the fraction of accesses corresponding to the
++ amount of the file cached, will be done without seeks.
++ If your buffer cache is half the size of the file used, then half the
++ requests will be satisfied immediately, and and the seek rate printed
++ will be twice the actual value.
++
diff --git a/benchmarks/bonnie/pkg-comment b/benchmarks/bonnie/pkg-comment
new file mode 100644
index 000000000000..ae55fc331761
--- /dev/null
+++ b/benchmarks/bonnie/pkg-comment
@@ -0,0 +1 @@
+BONNIE: Performance Test of Filesystem I/O
diff --git a/benchmarks/bonnie/pkg-descr b/benchmarks/bonnie/pkg-descr
new file mode 100644
index 000000000000..b93807f2ffc0
--- /dev/null
+++ b/benchmarks/bonnie/pkg-descr
@@ -0,0 +1,17 @@
+Bonnie: Filesystem Benchmark Program
+
+Bonnie tests the speed of file I/O using standard C library calls.
+It does reads and writes of blocks, testing for the limit of sustained
+data rate (usually limited by the drive or controller) and updates on
+a file (better simulating normal operating conditions and quite dependent
+on drive and OS optimisations).
+The per character read and write tests are generally limited by CPU speed
+only on current generation hardware. It takes some 35 SPECint92 to read
+or write a file at a rate of 1MB/s using getc() and putc().
+The seek tests are dependent on the buffer cache size, since the fraction
+of disk blocks that fits into the buffer cache will be found without any
+disk operation and will contribute zero seek time readings. I.e. if the
+buffer cache is 16MB and the Bonnie test file is 32MB in size, then the
+seek time will come out as half its real value. The seek time includes
+rotational delay, and will thus always come out higher than specified for
+a drive.
diff --git a/benchmarks/bonnie/pkg-plist b/benchmarks/bonnie/pkg-plist
new file mode 100644
index 000000000000..abd4e2e69d11
--- /dev/null
+++ b/benchmarks/bonnie/pkg-plist
@@ -0,0 +1,6 @@
+@cd /usr/local
+@owner bin
+@mode 755
+bin/bonnie
+@mode 644
+man/man1/bonnie.1.gz