Pid build and working

This commit is contained in:
BAREEDU SAI SANDEEP SANDEEP 2020-02-21 00:59:27 +05:30
commit 67a9e8efa1
6458 changed files with 737036 additions and 0 deletions

22
Makefile Normal file
View File

@ -0,0 +1,22 @@
SUBDIR+= include .WAIT
SUBDIR+= benchmarks
SUBDIR+= bin
SUBDIR+= commands
SUBDIR+= fs
SUBDIR+= kernel
SUBDIR+= lib
SUBDIR+= llvm
SUBDIR+= man
SUBDIR+= net
SUBDIR+= sbin
SUBDIR+= servers
SUBDIR+= share
SUBDIR+= tests
SUBDIR+= usr.bin
SUBDIR+= usr.sbin
# BJG - build drivers last as the ramdisk depends on some other drivers
SUBDIR+= .WAIT drivers
.include <bsd.subdir.mk>

3
Makefile.inc Normal file
View File

@ -0,0 +1,3 @@
WARNS?= 0
.include "../Makefile.inc"

5
benchmarks/Makefile Normal file
View File

@ -0,0 +1,5 @@
# Makefile for the benchmarks.
SUBDIR=unixbench-5.1.2
.include <bsd.subdir.mk>

1
benchmarks/Makefile.inc Normal file
View File

@ -0,0 +1 @@
.include "../Makefile.inc"

51
benchmarks/run Executable file
View File

@ -0,0 +1,51 @@
#!/bin/sh
set -e
make
BENCHDIR=/usr/local/benchmarks
basebenchmarks=`echo *bench*`
if [ -d $BENCHDIR ]
then packagebenchmarks=`(cd $BENCHDIR && echo *bench*)`
fi
runbench() {
bench=$1
out="Results/$bench.`date +%Y%m%d.%H%M%S`"
if [ -d $bench ]
then dir=$bench
fi
if [ -d $BENCHDIR/$bench ]
then dir=$BENCHDIR/$bench
fi
clear
echo "Running $dir."
echo "Saving output to $out."
echo ""
( cd $dir && sh run.sh 2>&1 ) | tee $out
}
clear
n=1
for b in $basebenchmarks $packagebenchmarks
do echo "$n. $b"
eval "n$n=$b"
n=`expr $n + 1`
done
echo
echo -n "Run which benchmark or 'all'? "
read bench
eval var=\$n$bench
if [ "$bench" = all ]
then for b in $basebenchmarks $packagebenchmarks
do runbench $b
done
else if [ -d "$var" -o -d "$BENCHDIR/$var" ]
then runbench $var
else echo "Unknown benchmark $var."
exit 1
fi
fi

View File

@ -0,0 +1,8 @@
SCRIPTS=Run
SUBDIR=pgms testdir run.sh
BINDIR=/usr/benchmarks/unixbench
.include <bsd.prog.mk>
.include <bsd.subdir.mk>

View File

@ -0,0 +1,406 @@
Version 5.1.2 -- 2007-12-26
================================================================
To use Unixbench:
1. UnixBench from version 5.1 on has both system and graphics tests.
If you want to use the graphic tests, edit the Makefile and make sure
that the line "GRAPHIC_TESTS = defined" is not commented out; then check
that the "GL_LIBS" definition is OK for your system. Also make sure
that the "x11perf" command is on your search path.
If you don't want the graphics tests, then comment out the
"GRAPHIC_TESTS = defined" line. Note: comment it out, don't
set it to anything.
2. Do "make".
3. Do "Run" to run the system test; "Run graphics" to run the graphics
tests; "Run gindex" to run both.
You will need perl, as Run is written in perl.
For more information on using the tests, read "USAGE".
For information on adding tests into the benchmark, see "WRITING_TESTS".
===================== RELEASE NOTES =====================================
======================== Dec 07 ==========================
v5.1.2
One big fix: if unixbench is installed in a directory whose pathname contains
a space, it should now run (previously it failed).
To avoid possible clashes, the environment variables unixbench uses are now
prefixed with "UB_". These are all optional, and for most people will be
completely unnecessary, but if you want you can set these:
UB_BINDIR Directory where the test programs live.
UB_TMPDIR Temp directory, for temp files.
UB_RESULTDIR Directory to put results in.
UB_TESTDIR Directory where the tests are executed.
And a couple of tiny fixes:
* In pgms/tst.sh, changed "sort -n +1" to "sort -n -k 1"
* In Makefile, made it clearer that GRAPHIC_TESTS should be commented
out (not set to 0) to disable graphics
Thanks to nordi for pointing these out.
Ian Smith, December 26, 2007
johantheghost at yahoo period com
======================== Oct 07 ==========================
v5.1.1
It turns out that the setting of LANG is crucial to the results. This
explains why people in different regions were seeing odd results, and also
why runlevel 1 produced odd results -- runlevel 1 doesn't set LANG, and
hence reverts to ASCII, whereas most people use a UTF-8 encoding, which is
much slower in some tests (eg. shell tests).
So now we manually set LANG to "en_US.utf8", which is configured with the
variable "$language". Don't change this if you want to share your results.
We also report the language settings in use.
See "The Language Setting" in USAGE for more info. Thanks to nordi for
pointing out the LANG issue.
I also added the "grep" and "sysexec" tests. These are non-index tests,
and "grep" uses the system's grep, so it's not much use for comparing
different systems. But some folks on the OpenSuSE list have been finding
these useful. They aren't in any of the main test groups; do "Run grep
sysexec" to run them.
Index Changes
-------------
The setting of LANG will affect consistency with systems where this is
not the default value. However, it should produce more consistent results
in future.
Ian Smith, October 15, 2007
johantheghost at yahoo period com
======================== Oct 07 ==========================
v5.1
The major new feature in this version is the addition of graphical
benchmarks. Since these may not compile on all systems, you can enable/
disable them with the GRAPHIC_TESTS variable in the Makefile.
As before, each test is run for 3 or 10 iterations. However, we now discard
the worst 1/3 of the scores before averaging the remainder. The logic is
that a glitch in the system (background process waking up, for example) may
make one or two runs go slow, so let's discard those. Hopefully this will
produce more consistent and repeatable results. Check the log file
for a test run to see the discarded scores.
Made the tests compile and run on x86-64/Linux (fixed an execl bug passing
int instead of pointer).
Also fixed some general bugs.
Thanks to Stefan Esser for help and testing / bug reporting.
Index Changes
-------------
The tests are now divided into categories, and each category generates
its own index. This keeps the graphics test results separate from
the system tests.
The "graphics" test and corresponding index are new.
The "discard the worst scores" strategy should produce slightly higher
test scores, but at least they should (hopefully!) be more consistent.
The scores should not be higher than the best scores you would have got
with 5.0, so this should not be a huge consistency issue.
Ian Smith, October 11, 2007
johantheghost at yahoo period com
======================== Sep 07 ==========================
v5.0
All the work I've done on this release is Linux-based, because that's
the only Unix I have access to. I've tried to make it more OS-agnostic
if anything; for example, it no longer has to figure out the format reported
by /usr/bin/time. However, it's possible that portability has been damaged.
If anyone wants to fix this, please feel free to mail me patches.
In particular, the analysis of the system's CPUs is done via /proc/cpuinfo.
For systems which don't have this, please make appropriate changes in
getCpuInfo() and getSystemInfo().
The big change has been to make the tests multi-CPU aware. See the
"Multiple CPUs" section in "USAGE" for details. Other changes:
* Completely rewrote Run in Perl; drastically simplified the way data is
processed. The confusing system of interlocking shell and awk scripts is
now just one script. Various intermediate files used to store and process
results are now replaced by Perl data structures internal to the script.
* Removed from the index runs file system read and write tests which were
ignored for the index and wasted about 10 minutes per run (see fstime.c).
The read and write tests can now be selected individually. Made fstime.c
take parameters, so we no longer need to build 3 versions of it.
* Made the output file names unique; they are built from
hostname-date-sequence.
* Worked on result reporting, error handling, and logging. See TESTS.
We now generate both text and HTML reports.
* Removed some obsolete files.
Index Changes
-------------
The index is still based on David Niemi's SPARCstation 20-61 (rated at 10.0),
and the intention in the changes I've made has been to keep the tests
unchanged, in order to maintain consistency with old result sets.
However, the following changes have been made to the index:
* The Pipe-based Context Switching test (context1) was being dropped
from the index report in v4.1.0 due to a bug; I've put it back in.
* I've added shell1 to the index, to get a measure of how the shell tests
scale with multiple CPUs (shell8 already exercises all the CPUs, even
in single-copy mode). I made up the baseline score for this by
extrapolation.
Both of these test can be dropped, if you wish, by editing the "TEST
SPECIFICATIONS" section of Run.
Ian Smith, September 20, 2007
johantheghost at yahoo period com
======================== Aug 97 ==========================
v4.1.0
Double precision Whetstone put in place instead of the old "double" benchmark.
Removal of some obsolete files.
"system" suite adds shell8.
perlbench and poll added as "exhibition" (non-index) benchmarks.
Incorporates several suggestions by Andre Derrick Balsa <andrewbalsa@usa.net>
Code cleanups to reduce compiler warnings by David C Niemi <niemi@tux.org>
and Andy Kahn <kahn@zk3.dec.com>; Digital Unix options by Andy Kahn.
======================== Jun 97 ==========================
v4.0.1
Minor change to fstime.c to fix overflow problems on fast machines. Counting
is now done in units of 256 (smallest BUFSIZE) and unsigned longs are used,
giving another 23 dB or so of headroom ;^) Results should be virtually
identical aside from very small rounding errors.
======================== Dec 95 ==========================
v4.0
Byte no longer seems to have anything to do with this benchmark, and I was
unable to reach any of the original authors; so I have taken it upon myself
to clean it up.
This is version 4. Major assumptions made in these benchmarks have changed
since they were written, but they are nonetheless popular (particularly for
measuring hardware for Linux). Some changes made:
- The biggest change is to put a lot more operating system-oriented
tests into the index. I experimented for a while with a decibel-like
logarithmic scale, but finally settled on using a geometric mean for
the final index (the individual scores are a normalized, and their
logs are averaged; the resulting value is exponentiated).
"George", certain SPARCstation 20-61 with 128 MB RAM, a SPARC Storage
Array, and Solaris 2.3 is my new baseline; it is rated at 10.0 in each
of the index scores for a final score of 10.0.
Overall I find the geometric averaging is a big improvement for
avoiding the skew that was once possible (e.g. a Pentium-75 which got
40 on the buggy version of fstime, such that fstime accounted for over
half of its total score and hence wildly skewed its average).
I also expect that the new numbers look different enough from the old
ones that no one is too likely to casually mistake them for each other.
I am finding new SPARCs running Solaris 2.4 getting about 15-20, and
my 486 DX2-66 Compaq running Linux 1.3.45 got a 9.1. It got
understandably poor scores on CPU and FPU benchmarks (a horrible
1.8 on "double" and 1.3 on "fsdisk"); but made up for it by averaging
over 20 on the OS-oriented benchmarks. The Pentium-75 running
Linux gets about 20 (and it *still* runs Windows 3.1 slowly. Oh well).
- It is difficult to get a modern compiler to even consider making
dhry2 without registers, short of turning off *all* optimizations.
This is also not a terribly meaningful test, even if it were possible,
as noone compiles without registers nowadays. Replaced this benchmark
with dhry2reg in the index, and dropped it out of usage in general as
it is so hard to make a legitimate one.
- fstime: this had some bugs when compiled on modern systems which return
the number of bytes read/written for read(2)/write(2) calls. The code
assumed that a negative return code was given for EOF, but most modern
systems return 0 (certainly on SunOS 4, Solaris2, and Linux, which is
what counts for me). The old code yielded wildly inflated read scores,
would eat up tens of MB of disk space on fast systems, and yielded
roughly 50% lower than normal copy scores than it should have.
Also, it counted partial blocks *fully*; made it count the proportional
part of the block which was actually finished.
Made bigger and smaller variants of fstime which are designed to beat
up the disk I/O and the buffer cache, respectively. Adjusted the
sleeps so that they are short for short benchmarks.
- Instead of 1,2,4, and 8-shell benchmarks, went to 1, 8, and 16 to
give a broader range of information (and to run 1 fewer test).
The only real problem with this is that not many iterations get
done with 16 at a time on slow systems, so there are some significant
rounding errors; 8 therefore still used for the benchmark. There is
also the problem that the last (uncompleted) loop is counted as a full
loop, so it is impossible to score below 1.0 lpm (which gave my laptop
a break). Probably redesigning Shell to do each loop a bit more
quickly (but with less intensity) would be a good idea.
This benchmark appears to be very heavily influenced by the speed
of the loader, by which shell is being used as /bin/sh, and by how
well-compiled some of the common shell utilities like grep, sed, and
sort are. With a consistent tool set it is also a good indicator of
the bandwidth between main memory and the CPU (e.g. Pentia score about
twice as high as 486es due to their 64-bit bus). Small, sometimes
broken shells like "ash-linux" do particularly well here, while big,
robust shells like bash do not.
- "dc" is a somewhat iffy benchmark, because there are two versions of
it floating around, one being small, very fast, and buggy, and one
being more correct but slow. It was never in the index anyway.
- Execl is a somewhat troubling benchmark in that it yields much higher
scores if compiled statically. I frown on this practice because it
distorts the scores away from reflecting how programs are really used
(i.e. dynamically linked).
- Arithoh is really more an indicator of the compiler quality than of
the computer itself. For example, GCC 2.7.x with -O2 and a few extra
options optimizes much of it away, resulting in about a 1200% boost
to the score. Clearly not a good one for the index.
I am still a bit unhappy with the variance in some of the benchmarks, most
notably the fstime suite; and with how long it takes to run. But I think
it gets significantly more reliable results than the older version in less
time.
If anyone has ideas on how to make these benchmarks faster, lower-variance,
or more meaningful; or has nice, new, portable benchmarks to add, don't
hesitate to e-mail me.
David C Niemi <niemi@tux.org> 7 Dec 1995
======================== May 91 ==========================
This is version 3. This set of programs should be able to determine if
your system is BSD or SysV. (It uses the output format of time (1)
to see. If you have any problems, contact me (by email,
preferably): ben@bytepb.byte.com
---
The document doc/bench.doc describes the basic flow of the
benchmark system. The document doc/bench3.doc describes the major
changes in design of this version. As a user of the benchmarks,
you should understand some of the methods that have been
implemented to generate loop counts:
Tests that are compiled C code:
The function wake_me(second, func) is included (from the file
timeit.c). This function uses signal and alarm to set a countdown
for the time request by the benchmark administration script
(Run). As soon as the clock is started, the test is run with a
counter keeping track of the number of loops that the test makes.
When alarm sends its signal, the loop counter value is sent to stderr
and the program terminates. Since the time resolution, signal
trapping and other factors don't insure that the test is for the
precise time that was requested, the test program is also run
from the time (1) command. The real time value returned from time
(1) is what is used in calculating the number of loops per second
(or minute, depending on the test). As is obvious, there is some
overhead time that is not taken into account, therefore the
number of loops per second is not absolute. The overhead of the
test starting and stopping and the signal and alarm calls is
common to the overhead of real applications. If a program loads
quickly, the number of loops per second increases; a phenomenon
that favors systems that can load programs quickly. (Setting the
sticky bit of the test programs is not considered fair play.)
Test that use existing UNIX programs or shell scripts:
The concept is the same as that of compiled tests, except the
alarm and signal are contained in separate compiled program,
looper (source is looper.c). Looper uses an execvp to invoke the
test with its arguments. Here, the overhead includes the
invocation and execution of looper.
--
The index numbers are generated from a baseline file that is in
pgms/index.base. You can put tests that you wish in this file.
All you need to do is take the results/log file from your
baseline machine, edit out the comment and blank lines, and sort
the result (vi/ex command: 1,$!sort). The sort in necessary
because the process of generating the index report uses join (1).
You can regenerate the reports by running "make report."
--
========================= Jan 90 =============================
Tom Yager has joined the effort here at BYTE; he is responsible
for many refinements in the UNIX benchmarks.
The memory access tests have been deleted from the benchmarks.
The file access tests have been reversed so that the test is run
for a fixed time. The amount of data transfered (written, read,
and copied) is the variable. !WARNING! This test can eat up a
large hunk of disk space.
The initial line of all shell scripts has been changed from the
SCO and XENIX form (:) to the more standard form "#! /bin/sh".
But different systems handle shell switching differently. Check
the documentation on your system and find out how you are
supposed to do it. Or, simpler yet, just run the benchmarks from
the Bourne shell. (You may need to set SHELL=/bin/sh as well.)
The options to Run have not been checked in a while. They may no
longer function. Next time, I'll get back on them. There needs to
be another option added (next time) that halts testing between
each test. !WARNING! Some systems have caches that are not getting flushed
before the next test or iteration is run. This can cause
erroneous values.
========================= Sept 89 =============================
The database (db) programs now have a tuneable message queue space.
queue space. The default set in the Run script is 1024 bytes.
Other major changes are in the format of the times. We now show
Arithmetic and Geometric mean and standard deviation for User
Time, System Time, and Real Time. Generally, in reporting, we
plan on using the Real Time values with the benchs run with one
active user (the bench user). Comments and arguments are requested.
contact: BIX bensmith or rick_g

1870
benchmarks/unixbench-5.1.2/Run Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,394 @@
Running the Tests
=================
All the tests are executed using the "Run" script in the top-level directory.
The simplest way to generate results is with the commmand:
./Run
This will run a standard "index" test (see "The BYTE Index" below), and
save the report in the "results" directory, with a filename like
hostname-2007-09-23-01
An HTML version is also saved.
If you want to generate both the basic system index and the graphics index,
then do:
./Run gindex
If your system has more than one CPU, the tests will be run twice -- once
with a single copy of each test running at once, and once with N copies,
where N is the number of CPUs. Some categories of tests, however (currently
the graphics tests) will only run with a single copy.
Since the tests are based on constant time (variable work), a "system"
run usually takes about 29 minutes; the "graphics" part about 18 minutes.
A "gindex" run on a dual-core machine will do 2 "system" passes (single-
and dual-processing) and one "graphics" run, for a total around one and
a quarter hours.
============================================================================
Detailed Usage
==============
The Run script takes a number of options which you can use to customise a
test, and you can specify the names of the tests to run. The full usage
is:
Run [ -q | -v ] [-i <n> ] [-c <n> [-c <n> ...]] [test ...]
The option flags are:
-q Run in quiet mode.
-v Run in verbose mode.
-i <count> Run <count> iterations for each test -- slower tests
use <count> / 3, but at least 1. Defaults to 10 (3 for
slow tests).
-c <n> Run <n> copies of each test in parallel.
The -c option can be given multiple times; for example:
./Run -c 1 -c 4
will run a single-streamed pass, then a 4-streamed pass. Note that some
tests (currently the graphics tests) will only run in a single-streamed pass.
The remaining non-flag arguments are taken to be the names of tests to run.
The default is to run "index". See "Tests" below.
When running the tests, I do *not* recommend switching to single-user mode
("init 1"). This seems to change the results in ways I don't understand,
and it's not realistic (unless your system will actually be running in this
mode, of course). However, if using a windowing system, you may want to
switch to a minimal window setup (for example, log in to a "twm" session),
so that randomly-churning background processes don't randomise the results
too much. This is particularly true for the graphics tests.
============================================================================
Tests
=====
The available tests are organised into categories; when generating index
scores (see "The BYTE Index" below) the results for each category are
produced separately. The categories are:
system The original Unix system tests (not all are actually
in the index)
2d 2D graphics tests (not all are actually in the index)
3d 3D graphics tests
misc Various non-indexed tests
The following individual tests are available:
system:
dhry2reg Dhrystone 2 using register variables
whetstone-double Double-Precision Whetstone
syscall System Call Overhead
pipe Pipe Throughput
context1 Pipe-based Context Switching
spawn Process Creation
execl Execl Throughput
fstime-w File Write 1024 bufsize 2000 maxblocks
fstime-r File Read 1024 bufsize 2000 maxblocks
fstime File Copy 1024 bufsize 2000 maxblocks
fsbuffer-w File Write 256 bufsize 500 maxblocks
fsbuffer-r File Read 256 bufsize 500 maxblocks
fsbuffer File Copy 256 bufsize 500 maxblocks
fsdisk-w File Write 4096 bufsize 8000 maxblocks
fsdisk-r File Read 4096 bufsize 8000 maxblocks
fsdisk File Copy 4096 bufsize 8000 maxblocks
shell1 Shell Scripts (1 concurrent) (runs "looper 60 multi.sh 1")
shell8 Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 8")
shell16 Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 16")
2d:
2d-rects 2D graphics: rectangles
2d-lines 2D graphics: lines
2d-circle 2D graphics: circles
2d-ellipse 2D graphics: ellipses
2d-shapes 2D graphics: polygons
2d-aashapes 2D graphics: aa polygons
2d-polys 2D graphics: complex polygons
2d-text 2D graphics: text
2d-blit 2D graphics: images and blits
2d-window 2D graphics: windows
3d:
ubgears 3D graphics: gears
misc:
C C Compiler Throughput ("looper 60 $cCompiler cctest.c")
arithoh Arithoh (huh?)
short Arithmetic Test (short) (this is arith.c configured for
"short" variables; ditto for the ones below)
int Arithmetic Test (int)
long Arithmetic Test (long)
float Arithmetic Test (float)
double Arithmetic Test (double)
dc Dc: sqrt(2) to 99 decimal places (runs
"looper 30 dc < dc.dat", using your system's copy of "dc")
hanoi Recursion Test -- Tower of Hanoi
grep Grep for a string in a large file, using your system's
copy of "grep"
sysexec Exercise fork() and exec().
The following pseudo-test names are aliases for combinations of other
tests:
arithmetic Runs arithoh, short, int, long, float, double,
and whetstone-double
dhry Alias for dhry2reg
dhrystone Alias for dhry2reg
whets Alias for whetstone-double
whetstone Alias for whetstone-double
load Runs shell1, shell8, and shell16
misc Runs C, dc, and hanoi
speed Runs the arithmetic and system groups
oldsystem Runs execl, fstime, fsbuffer, fsdisk, pipe, context1,
spawn, and syscall
system Runs oldsystem plus shell1, shell8, and shell16
fs Runs fstime-w, fstime-r, fstime, fsbuffer-w,
fsbuffer-r, fsbuffer, fsdisk-w, fsdisk-r, and fsdisk
shell Runs shell1, shell8, and shell16
index Runs the tests which constitute the official index:
the oldsystem group, plus dhry2reg, whetstone-double,
shell1, and shell8
See "The BYTE Index" below for more information.
graphics Runs the tests which constitute the graphics index:
2d-rects, 2d-ellipse, 2d-aashapes, 2d-text, 2d-blit,
2d-window, and ubgears
gindex Runs the index and graphics groups, to generate both
sets of index results
all Runs all tests
============================================================================
The BYTE Index
==============
The purpose of this test is to provide a basic indicator of the performance
of a Unix-like system; hence, multiple tests are used to test various
aspects of the system's performance. These test results are then compared
to the scores from a baseline system to produce an index value, which is
generally easier to handle than the raw sores. The entire set of index
values is then combined to make an overall index for the system.
Since 1995, the baseline system has been "George", a SPARCstation 20-61
with 128 MB RAM, a SPARC Storage Array, and Solaris 2.3, whose ratings
were set at 10.0. (So a system which scores 520 is 52 times faster than
this machine.) Since the numbers are really only useful in a relative
sense, there's no particular reason to update the base system, so for the
sake of consistency it's probably best to leave it alone. George's scores
are in the file "pgms/index.base"; this file is used to calculate the
index scores for any particular run.
Over the years, various changes have been made to the set of tests in the
index. Although there is a desire for a consistent baseline, various tests
have been determined to be misleading, and have been removed; and a few
alternatives have been added. These changes are detailed in the README,
and should be born in mind when looking at old scores.
A number of tests are included in the benchmark suite which are not part of
the index, for various reasons; these tests can of course be run manually.
See "Tests" above.
============================================================================
Graphics Tests
==============
As of version 5.1, UnixBench now contains some graphics benchmarks. These
are intended to give a rough idea of the general graphics performance of
a system.
The graphics tests are in categories "2d" and "3d", so the index scores
for these tests are separate from the basic system index. This seems
like a sensible division, since the graphics performance of a system
depends largely on the graphics adaptor.
The tests currently consist of some 2D "x11perf" tests and "ubgears".
* The 2D tests are a selection of the x11perf tests, using the host
system's x11perf command (which must be installed and in the search
path). Only a few of the x11perf tests are used, in the interests
of completing a test run in a reasonable time; if you want to do
detailed diagnosis of an X server or graphics chip, then use x11perf
directly.
* The 3D test is "ubgears", a modified version of the familiar "glxgears".
This version runs for 5 seconds to "warm up", then performs a timed
run and displays the average frames-per-second.
On multi-CPU systems, the graphics tests will only run in single-processing
mode. This is because the meaning of running two copies of a test at once
is dubious; and the test windows tend to overlay each other, meaning that
the window behind isn't actually doing any work.
============================================================================
Multiple CPUs
=============
If your system has multiple CPUs, the default behaviour is to run the selected
tests twice -- once with one copy of each test program running at a time,
and once with N copies, where N is the number of CPUs. (You can override
this with the "-c" option; see "Detailed Usage" above.) This is designed to
allow you to assess:
- the performance of your system when running a single task
- the performance of your system when running multiple tasks
- the gain from your system's implementation of parallel processing
The results, however, need to be handled with care. Here are the results
of two runs on a dual-processor system, one in single-processing mode, one
dual-processing:
Test Single Dual Gain
-------------------- ------ ------ ----
Dhrystone 2 562.5 1110.3 97%
Double Whetstone 320.0 640.4 100%
Execl Throughput 450.4 880.3 95%
File Copy 1024 759.4 595.9 -22%
File Copy 256 535.8 438.8 -18%
File Copy 4096 1261.8 1043.4 -17%
Pipe Throughput 481.0 979.3 104%
Pipe-based Switching 326.8 1229.0 276%
Process Creation 917.2 1714.1 87%
Shell Scripts (1) 1064.9 1566.3 47%
Shell Scripts (8) 1567.7 1709.9 9%
System Call Overhead 944.2 1445.5 53%
-------------------- ------ ------ ----
Index Score: 678.2 1026.2 51%
As expected, the heavily CPU-dependent tasks -- dhrystone, whetstone,
execl, pipe throughput, process creation -- show close to 100% gain when
running 2 copies in parallel.
The Pipe-based Context Switching test measures context switching overhead
by sending messages back and forth between 2 processes. I don't know why
it shows such a huge gain with 2 copies (ie. 4 processes total) running,
but it seems to be consistent on my system. I think this may be an issue
with the SMP implementation.
The System Call Overhead shows a lesser gain, presumably because it uses a
lot of CPU time in single-threaded kernel code. The shell scripts test with
8 concurrent processes shows no gain -- because the test itself runs 8
scripts in parallel, it's already using both CPUs, even when the benchmark
is run in single-stream mode. The same test with one process per copy
shows a real gain.
The filesystem throughput tests show a loss, instead of a gain, when
multi-processing. That there's no gain is to be expected, since the tests
are presumably constrained by the throughput of the I/O subsystem and the
disk drive itself; the drop in performance is presumably down to the
increased contention for resources, and perhaps greater disk head movement.
So what tests should you use, how many copies should you run, and how should
you interpret the results? Well, that's up to you, since it depends on
what it is you're trying to measure.
Implementation
--------------
The multi-processing mode is implemented at the level of test iterations.
During each iteration of a test, N slave processes are started using fork().
Each of these slaves executes the test program using fork() and exec(),
reads and stores the entire output, times the run, and prints all the
results to a pipe. The Run script reads the pipes for each of the slaves
in turn to get the results and times. The scores are added, and the times
averaged.
The result is that each test program has N copies running at once. They
should all finish at around the same time, since they run for constant time.
If a test program itself starts off K multiple processes (as with the shell8
test), then the effect will be that there are N * K processes running at
once. This is probably not very useful for testing multi-CPU performance.
============================================================================
The Language Setting
====================
The $LANG environment variable determines how programs abnd library
routines interpret text. This can have a big impact on the test results.
If $LANG is set to POSIX, or is left unset, text is treated as ASCII; if
it is set to en_US.UTF-8, foir example, then text is treated as being
encoded in UTF-8, which is more complex and therefore slower. Setting
it to other languages can have varying results.
To ensure consistency between test runs, the Run script now (as of version
5.1.1) sets $LANG to "en_US.utf8".
This setting which is configured with the variable "$language". You
should not change this if you want to share your results to allow
comparisons between systems; however, you may want to change it to see
how different language settings affect performance.
Each test report now includes the language settings in use. The reported
language is what is set in $LANG, and is not necessarily supported by the
system; but we also report the character mapping and collation order which
are actually in use (as reported by "locale").
============================================================================
Interpreting the Results
========================
Interpreting the results of these tests is tricky, and totally depends on
what you're trying to measure.
For example, are you trying to measure how fast your CPU is? Or how good
your compiler is? Because these tests are all recompiled using your host
system's compiler, the performance of the compiler will inevitably impact
the performance of the tests. Is this a problem? If you're choosing a
system, you probably care about its overall speed, which may well depend
on how good its compiler is; so including that in the test results may be
the right answer. But you may want to ensure that the right compiler is
used to build the tests.
On the other hand, with the vast majority of Unix systems being x86 / PC
compatibles, running Linux and the GNU C compiler, the results will tend
to be more dependent on the hardware; but the versions of the compiler and
OS can make a big difference. (I measured a 50% gain between SUSE 10.1
and OpenSUSE 10.2 on the same machine.) So you may want to make sure that
all your test systems are running the same version of the OS; or at least
publish the OS and compuiler versions with your results. Then again, it may
be compiler performance that you're interested in.
The C test is very dubious -- it tests the speed of compilation. If you're
running the exact same compiler on each system, OK; but otherwise, the
results should probably be discarded. A slower compilation doesn't say
anything about the speed of your system, since the compiler may simply be
spending more time to super-optimise the code, which would actually make it
faster.
This will be particularly true on architectures like IA-64 (Itanium etc.)
where the compiler spends huge amounts of effort scheduling instructions
to run in parallel, with a resultant significant gain in execution speed.
Some tests are even more dubious in terms of host-dependency -- for example,
the "dc" test uses the host's version of dc (a calculator program). The
version of this which is available can make a huge difference to the score,
which is why it's not in the index group. Read through the release notes
for more on these kinds of issues.
Another age-old issue is that of the benchmarks being too trivial to be
meaningful. With compilers getting ever smarter, and performing more
wide-ranging flow path analyses, the danger of parts of the benchmarks
simply being optimised out of existance is always present.
All in all, the "index" and "gindex" tests (see above) are designed to
give a reasonable measure of overall system performance; but the results
of any test run should always be used with care.

View File

@ -0,0 +1,133 @@
Writing a Test
==============
Writing a test program is pretty easy. Basically, a test is configured via
a monster array in the Run script, which specifics (among other things) the
program to execute and the parameters to pass it.
The test itself is simply a program which is given the optional parameters
on the command line, and produces logging data on stdout and its results on
stderr.
============================================================================
Test Configuration
==================
In Run, all tests are named in the "$testList" array. This names the
individual tests, and also sets up aliases for groups of tests, eg. "index".
The test specifications are in the "$testParams" array. This contains the
details of each individual test as a hash. The fields in the hash are:
* "logmsg": the full name to display for this test.
* "cat": the category this test belongs to; must be configured
in $testCats.
* "prog": the name of the program to execute; defaults to the name of
the benchmark.
* "repeat": number of passes to run; either 'short' (the default),
'long', or 'single'. For 'short' and 'long', the actual numbers of
passes are given by $shortIterCount and $longIterCount, which are
configured at the top of the script or by the "-i" flag. 'single'
means just run one pass; this should be used for test which do their
own multi-pass handling internally.
* "stdout": non-0 to add the test's stdout to the log file; defaults to 1.
Set to 0 for tests that are too wordy.
* "stdin": name of a file to send to the program's stdin; default null.
* "options": options to be put on the program's command line; default null.
============================================================================
Output Format
=============
The results on stderr take the form of a line header and fields, separated
by "|" characters. A result line can be one of:
COUNT|score|timebase|label
TIME|seconds
ERROR|message
Any other text on stderr is treated as if it were:
ERROR|text
Any output to stdout is placed in a log file, and can be used for debugging.
COUNT
-----
The COUNT line is the line used to report a test score.
* "score" is the result, typically the number of loops performed during
the run
* "timebase" is the time base used for the final report to the user. A
value of 1 reports the score as is; a value of 60, for example, divides
the time taken by 60 to get loops per minute. Atimebase of zero indicates
that the score is already a rate, ie. a count of things per second.
* "label" is the label to use for the score; like "lps" (loops per
second), etc.
TIME
----
The TIME line is optionally used to report the time taken. The Run script
normally measures this, but if your test has signifant overhead outside the
actual test loop, you should use TIME to report the time taken for the actual
test. The argument is the time in seconds in floating-point.
ERROR
-----
The argument is an error message; this will abort the benchmarking run and
display the message.
Any output to stderr which is not a formatted line will be treated as an
error message, so use of ERROR is optional.
============================================================================
Test Examples
=============
Iteration Count
---------------
The simplest thing is to count the number of loops executed in a given time;
see eg. arith.c. The utlilty functions in timeit.c can be used to implement
the fixed time interval, which is generally passed in on the command line.
The result is reported simply as the number of iterations completed:
fprintf(stderr,"COUNT|%lu|1|lps\n", iterations);
The bnenchmark framework will measure the time taken itself. If the test
code has significant overhead (eg. a "pump-priming" pass), then you should
explicitly report the time taken for the test by adding a line like this:
fprintf(stderr, "TIME|%.1f\n", seconds);
If you want results reported as loops per minute, then set timebase to 60:
fprintf(stderr,"COUNT|%lu|60|lpm\n", iterations);
Note that this only affects the final report; all times passed to or
from the test are still in seconds.
Rate
----
The other technique is to calculate the rate (things per second) in the test,
and report that directly. To do this, just set timebase to 0:
fprintf(stderr, "COUNT|%ld|0|KBps\n", kbytes_per_sec);
Again, you can use TIME to explicitly report the time taken:
fprintf(stderr, "TIME|%.1f\n", end - start);
but this isn't so important since you've already calculated the rate.

View File

@ -0,0 +1,6 @@
SUBDIR=arithoh register short int long float double whetstone-double hanoi \
poll select fstime syscall context1 pipe spawn execl dhry2 \
dhry2reg looper multi.sh tst.sh unixbench.logo index.base # ubgears poll2BB
.include <bsd.subdir.mk>

View File

@ -0,0 +1,5 @@
CPPFLAGS+=-DTIME -DMINIX=1 -I../../src/
HZ=60
BINDIR=/usr/benchmarks/unixbench/pgms
.PATH: ${.CURDIR}/../../src

View File

@ -0,0 +1,17 @@
arith.ln arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/arithoh/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,7 @@
PROG=arithoh
SRCS=arith.c
CPPFLAGS+=-Darithoh
MAN=
.include <bsd.prog.mk>

View File

@ -0,0 +1,17 @@
arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/arithoh/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,18 @@
context1.ln context1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/context1/../../src/context1.c \
/usr/include/signal.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/int_types.h \
/usr/include/machine/ansi.h /usr/include/sys/ansi.h \
/usr/include/machine/endian.h /usr/include/sys/endian.h \
/usr/include/machine/endian_machdep.h /usr/include/machine/bswap.h \
/usr/include/machine/byte_swap.h /usr/include/sys/bswap.h \
/usr/include/sys/fd_set.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/stdio.h /usr/include/sys/null.h /usr/include/stdlib.h \
/usr/include/errno.h /usr/include/sys/errno.h ../../src/timeit.c \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,5 @@
PROG=context1
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,18 @@
context1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/context1/../../src/context1.c \
/usr/include/signal.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/int_types.h \
/usr/include/machine/ansi.h /usr/include/sys/ansi.h \
/usr/include/machine/endian.h /usr/include/sys/endian.h \
/usr/include/machine/endian_machdep.h /usr/include/machine/bswap.h \
/usr/include/machine/byte_swap.h /usr/include/sys/bswap.h \
/usr/include/sys/fd_set.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/stdio.h /usr/include/sys/null.h /usr/include/stdlib.h \
/usr/include/errno.h /usr/include/sys/errno.h ../../src/timeit.c \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,26 @@
dhry_1.ln dhry_1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2/../../src/dhry_1.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/string.h /usr/include/strings.h ../../src/dhry.h \
../../src/timeit.c /usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h
dhry_2.ln dhry_2.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2/../../src/dhry_2.c \
/usr/include/string.h /usr/include/machine/ansi.h \
/usr/include/sys/cdefs.h /usr/include/machine/cdefs.h \
/usr/include/sys/cdefs_elf.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/sys/featuretest.h \
/usr/include/strings.h ../../src/dhry.h /usr/include/stdio.h \
/usr/include/sys/ansi.h

View File

@ -0,0 +1,7 @@
PROG=dhry2
SRCS=dhry_1.c dhry_2.c
CPPFLAGS+=-DHZ=${HZ}
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,18 @@
dhry_1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2/../../src/dhry_1.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/string.h /usr/include/strings.h ../../src/dhry.h \
../../src/timeit.c /usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,8 @@
dhry_2.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2/../../src/dhry_2.c \
/usr/include/string.h /usr/include/machine/ansi.h \
/usr/include/sys/cdefs.h /usr/include/machine/cdefs.h \
/usr/include/sys/cdefs_elf.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/sys/featuretest.h \
/usr/include/strings.h ../../src/dhry.h /usr/include/stdio.h \
/usr/include/sys/ansi.h

Binary file not shown.

View File

@ -0,0 +1,26 @@
dhry_1.ln dhry_1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2reg/../../src/dhry_1.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/string.h /usr/include/strings.h ../../src/dhry.h \
../../src/timeit.c /usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h
dhry_2.ln dhry_2.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2reg/../../src/dhry_2.c \
/usr/include/string.h /usr/include/machine/ansi.h \
/usr/include/sys/cdefs.h /usr/include/machine/cdefs.h \
/usr/include/sys/cdefs_elf.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/sys/featuretest.h \
/usr/include/strings.h ../../src/dhry.h /usr/include/stdio.h \
/usr/include/sys/ansi.h

View File

@ -0,0 +1,7 @@
PROG=dhry2reg
SRCS=dhry_1.c dhry_2.c
CPPFLAGS+=-DHZ=${HZ} -DREG=register
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,18 @@
dhry_1.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2reg/../../src/dhry_1.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/string.h /usr/include/strings.h ../../src/dhry.h \
../../src/timeit.c /usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,8 @@
dhry_2.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/dhry2reg/../../src/dhry_2.c \
/usr/include/string.h /usr/include/machine/ansi.h \
/usr/include/sys/cdefs.h /usr/include/machine/cdefs.h \
/usr/include/sys/cdefs_elf.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/sys/featuretest.h \
/usr/include/strings.h ../../src/dhry.h /usr/include/stdio.h \
/usr/include/sys/ansi.h

Binary file not shown.

View File

@ -0,0 +1,17 @@
arith.ln arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/double/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,7 @@
PROG=double
SRCS=arith.c
CPPFLAGS=-Ddatum='double'
MAN=
.include <bsd.prog.mk>

View File

@ -0,0 +1,17 @@
arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/double/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,20 @@
execl.ln execl.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/execl/../../src/execl.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/unistd.h /usr/include/sys/unistd.h ../../src/big.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/fcntl.h /usr/include/sys/stat.h /usr/include/sys/time.h \
/usr/include/sys/select.h /usr/include/time.h /usr/include/string.h \
/usr/include/strings.h /usr/include/sys/wait.h

View File

@ -0,0 +1,5 @@
PROG=execl
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,20 @@
execl.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/execl/../../src/execl.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/unistd.h /usr/include/sys/unistd.h ../../src/big.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/fcntl.h /usr/include/sys/stat.h /usr/include/sys/time.h \
/usr/include/sys/select.h /usr/include/time.h /usr/include/string.h \
/usr/include/strings.h /usr/include/sys/wait.h

Binary file not shown.

View File

@ -0,0 +1,17 @@
arith.ln arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/float/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,7 @@
PROG=float
SRCS=arith.c
CPPFLAGS=-Ddatum='float'
MAN=
.include <bsd.prog.mk>

View File

@ -0,0 +1,17 @@
arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/float/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,20 @@
fstime.ln fstime.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/fstime/../../src/fstime.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/errno.h /usr/include/sys/errno.h /usr/include/fcntl.h \
/usr/include/sys/stat.h /usr/include/sys/time.h \
/usr/include/sys/select.h /usr/include/time.h /usr/include/unistd.h \
/usr/include/sys/unistd.h

View File

@ -0,0 +1,5 @@
PROG=fstime
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,20 @@
fstime.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/fstime/../../src/fstime.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/errno.h /usr/include/sys/errno.h /usr/include/fcntl.h \
/usr/include/sys/stat.h /usr/include/sys/time.h \
/usr/include/sys/select.h /usr/include/time.h /usr/include/unistd.h \
/usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,476 @@
#!/usr/bin/perl -w
use strict;
############################################################################
# gfx-x11: a front-end for x11perf. Runs a selected x11perf test, and
# produces output in the format needed by UnixBench.
############################################################################
# Modification Log:
# 2007.09.26 Ian Smith Created
############################################################################
# This program runs sets of x11perf tests, indexes the results against
# a common base reference system (see $testData below), and reports the
# final score.
#
# Usage:
# gfx-x11 <group> <reps> <time>
# where:
# <group> is one of the test groups defined in $testGroups below
# <reps> is the number of repeats to do per test (the -repeat
# argument to x11perf)
# <time> is the number of seconds to run each repeat for (the
# -time argument to x11perf)
# Note that x11perf runs a calibration pass before the requested number
# of test passes. The score we compute for a test is the average of the
# test passes, divided by the base value in $testData, times 1000.0.
# The final score we report is the average of the test scores.
############################################################################
# TEST DATA
############################################################################
# This array lists all of the x11perf tests, together with their scores
# on an HP Compaq nc8430, with an ATI Mobility Radeon X1600 (256MB)
# graphics adapter. There isn't anything special about this reference
# system, but scaling all the scores back to a single reference system
# allows us to average them in a roughly meaningful way, which in turn
# allows us to produce sensible scores for the test groups defined below.
#
# The results we report are indexed to these values, at a base of 1000.0.
my $testData = {
'dot' => [ 31700000.0, "Dot" ],
'rect1' => [ 18400000.0, "1x1 rectangle" ],
'rect10' => [ 7180000.0, "10x10 rectangle" ],
'rect100' => [ 110000.0, "100x100 rectangle" ],
'rect500' => [ 4110.0, "500x500 rectangle" ],
'srect1' => [ 15800000.0, "1x1 stippled rectangle (8x8 stipple)" ],
'srect10' => [ 7400000.0, "10x10 stippled rectangle (8x8 stipple)" ],
'srect100' => [ 110000.0, "100x100 stippled rectangle (8x8 stipple)" ],
'srect500' => [ 4110.0, "500x500 stippled rectangle (8x8 stipple)" ],
'osrect1' => [ 15900000.0, "1x1 opaque stippled rectangle (8x8 stipple)" ],
'osrect10' => [ 7170000.0, "10x10 opaque stippled rectangle (8x8 stipple)" ],
'osrect100' => [ 110000.0, "100x100 opaque stippled rectangle (8x8 stipple)" ],
'osrect500' => [ 4110.0, "500x500 opaque stippled rectangle (8x8 stipple)" ],
'tilerect1' => [ 15800000.0, "1x1 tiled rectangle (4x4 tile)" ],
'tilerect10' => [ 7170000.0, "10x10 tiled rectangle (4x4 tile)" ],
'tilerect100' => [ 110000.0, "100x100 tiled rectangle (4x4 tile)" ],
'tilerect500' => [ 4110.0, "500x500 tiled rectangle (4x4 tile)" ],
'oddsrect1' => [ 2990000.0, "1x1 stippled rectangle (17x15 stipple)" ],
'oddsrect10' => [ 1490000.0, "10x10 stippled rectangle (17x15 stipple)" ],
'oddsrect100' => [ 55600.0, "100x100 stippled rectangle (17x15 stipple)" ],
'oddsrect500' => [ 2360.0, "500x500 stippled rectangle (17x15 stipple)" ],
'oddosrect1' => [ 2990000.0, "1x1 opaque stippled rectangle (17x15 stipple)" ],
'oddosrect10' => [ 1430000.0, "10x10 opaque stippled rectangle (17x15 stipple)" ],
'oddosrect100' => [ 54500.0, "100x100 opaque stippled rectangle (17x15 stipple)" ],
'oddosrect500' => [ 2320.0, "500x500 opaque stippled rectangle (17x15 stipple)" ],
'oddtilerect1' => [ 2990000.0, "1x1 tiled rectangle (17x15 tile)" ],
'oddtilerect10' => [ 1430000.0, "10x10 tiled rectangle (17x15 tile)" ],
'oddtilerect100' => [ 54500.0, "100x100 tiled rectangle (17x15 tile)" ],
'oddtilerect500' => [ 2320.0, "500x500 tiled rectangle (17x15 tile)" ],
'bigsrect1' => [ 4300000.0, "1x1 stippled rectangle (161x145 stipple)" ],
'bigsrect10' => [ 705000.0, "10x10 stippled rectangle (161x145 stipple)" ],
'bigsrect100' => [ 12300.0, "100x100 stippled rectangle (161x145 stipple)" ],
'bigsrect500' => [ 524.0, "500x500 stippled rectangle (161x145 stipple)" ],
'bigosrect1' => [ 3980000.0, "1x1 opaque stippled rectangle (161x145 stipple)" ],
'bigosrect10' => [ 644000.0, "10x10 opaque stippled rectangle (161x145 stipple)" ],
'bigosrect100' => [ 12800.0, "100x100 opaque stippled rectangle (161x145 stipple)" ],
'bigosrect500' => [ 584.0, "500x500 opaque stippled rectangle (161x145 stipple)" ],
'bigtilerect1' => [ 5970000.0, "1x1 tiled rectangle (161x145 tile)" ],
'bigtilerect10' => [ 684000.0, "10x10 tiled rectangle (161x145 tile)" ],
'bigtilerect100' => [ 16200.0, "100x100 tiled rectangle (161x145 tile)" ],
'bigtilerect500' => [ 872.0, "500x500 tiled rectangle (161x145 tile)" ],
'eschertilerect1' => [ 5940000.0, "1x1 tiled rectangle (216x208 tile)" ],
'eschertilerect10' => [ 639000.0, "10x10 tiled rectangle (216x208 tile)" ],
'eschertilerect100' => [ 18000.0, "100x100 tiled rectangle (216x208 tile)" ],
'eschertilerect500' => [ 922.0, "500x500 tiled rectangle (216x208 tile)" ],
'seg1' => [ 28800000.0, "1-pixel line segment" ],
'seg10' => [ 4460000.0, "10-pixel line segment" ],
'seg100' => [ 470000.0, "100-pixel line segment" ],
'seg500' => [ 94600.0, "500-pixel line segment" ],
'seg100c1' => [ 449000.0, "100-pixel line segment (1 kid)" ],
'seg100c2' => [ 432000.0, "100-pixel line segment (2 kids)" ],
'seg100c3' => [ 421000.0, "100-pixel line segment (3 kids)" ],
'dseg10' => [ 3720000.0, "10-pixel dashed segment" ],
'dseg100' => [ 687000.0, "100-pixel dashed segment" ],
'ddseg100' => [ 454000.0, "100-pixel double-dashed segment" ],
'hseg10' => [ 7020000.0, "10-pixel horizontal line segment" ],
'hseg100' => [ 2170000.0, "100-pixel horizontal line segment" ],
'hseg500' => [ 456000.0, "500-pixel horizontal line segment" ],
'vseg10' => [ 3990000.0, "10-pixel vertical line segment" ],
'vseg100' => [ 411000.0, "100-pixel vertical line segment" ],
'vseg500' => [ 82400.0, "500-pixel vertical line segment" ],
'whseg10' => [ 2880000.0, "10x1 wide horizontal line segment" ],
'whseg100' => [ 616000.0, "100x10 wide horizontal line segment" ],
'whseg500' => [ 33300.0, "500x50 wide horizontal line segment" ],
'wvseg10' => [ 2890000.0, "10x1 wide vertical line segment" ],
'wvseg100' => [ 584000.0, "100x10 wide vertical line segment" ],
'wvseg500' => [ 31700.0, "500x50 wide vertical line segment" ],
'line1' => [ 28300000.0, "1-pixel line" ],
'line10' => [ 4470000.0, "10-pixel line" ],
'line100' => [ 472000.0, "100-pixel line" ],
'line500' => [ 94200.0, "500-pixel line" ],
'dline10' => [ 3640000.0, "10-pixel dashed line" ],
'dline100' => [ 673000.0, "100-pixel dashed line" ],
'ddline100' => [ 453000.0, "100-pixel double-dashed line" ],
'wline10' => [ 908000.0, "10x1 wide line" ],
'wline100' => [ 146000.0, "100x10 wide line" ],
'wline500' => [ 30600.0, "500x50 wide line" ],
'wdline100' => [ 69900.0, "100x10 wide dashed line" ],
'wddline100' => [ 60600.0, "100x10 wide double-dashed line" ],
'orect10' => [ 5100000.0, "10x10 rectangle outline" ],
'orect100' => [ 709000.0, "100x100 rectangle outline" ],
'orect500' => [ 146000.0, "500x500 rectangle outline" ],
'worect10' => [ 4530000.0, "10x10 wide rectangle outline" ],
'worect100' => [ 204000.0, "100x100 wide rectangle outline" ],
'worect500' => [ 9790.0, "500x500 wide rectangle outline" ],
'circle1' => [ 5160000.0, "1-pixel circle" ],
'circle10' => [ 1160000.0, "10-pixel circle" ],
'circle100' => [ 141000.0, "100-pixel circle" ],
'circle500' => [ 28900.0, "500-pixel circle" ],
'dcircle100' => [ 98400.0, "100-pixel dashed circle" ],
'ddcircle100' => [ 75000.0, "100-pixel double-dashed circle" ],
'wcircle10' => [ 780000.0, "10-pixel wide circle" ],
'wcircle100' => [ 90900.0, "100-pixel wide circle" ],
'wcircle500' => [ 11300.0, "500-pixel wide circle" ],
'wdcircle100' => [ 8100.0, "100-pixel wide dashed circle" ],
'wddcircle100' => [ 8300.0, "100-pixel wide double-dashed circle" ],
'pcircle10' => [ 1270000.0, "10-pixel partial circle" ],
'pcircle100' => [ 212000.0, "100-pixel partial circle" ],
'wpcircle10' => [ 104000.0, "10-pixel wide partial circle" ],
'wpcircle100' => [ 39000.0, "100-pixel wide partial circle" ],
'fcircle1' => [ 61300000.0, "1-pixel solid circle" ],
'fcircle10' => [ 1720000.0, "10-pixel solid circle" ],
'fcircle100' => [ 120000.0, "100-pixel solid circle" ],
'fcircle500' => [ 5170.0, "500-pixel solid circle" ],
'fcpcircle10' => [ 981000.0, "10-pixel fill chord partial circle" ],
'fcpcircle100' => [ 205000.0, "100-pixel fill chord partial circle" ],
'fspcircle10' => [ 876000.0, "10-pixel fill slice partial circle" ],
'fspcircle100' => [ 187000.0, "100-pixel fill slice partial circle" ],
'ellipse10' => [ 1410000.0, "10-pixel ellipse" ],
'ellipse100' => [ 172000.0, "100-pixel ellipse" ],
'ellipse500' => [ 35100.0, "500-pixel ellipse" ],
'dellipse100' => [ 114000.0, "100-pixel dashed ellipse" ],
'ddellipse100' => [ 88900.0, "100-pixel double-dashed ellipse" ],
'wellipse10' => [ 889000.0, "10-pixel wide ellipse" ],
'wellipse100' => [ 124000.0, "100-pixel wide ellipse" ],
'wellipse500' => [ 15600.0, "500-pixel wide ellipse" ],
'wdellipse100' => [ 7730.0, "100-pixel wide dashed ellipse" ],
'wddellipse100' => [ 6680.0, "100-pixel wide double-dashed ellipse" ],
'pellipse10' => [ 1350000.0, "10-pixel partial ellipse" ],
'pellipse100' => [ 260000.0, "100-pixel partial ellipse" ],
'wpellipse10' => [ 97900.0, "10-pixel wide partial ellipse" ],
'wpellipse100' => [ 16800.0, "100-pixel wide partial ellipse" ],
'fellipse10' => [ 2110000.0, "10-pixel filled ellipse" ],
'fellipse100' => [ 212000.0, "100-pixel filled ellipse" ],
'fellipse500' => [ 11000.0, "500-pixel filled ellipse" ],
'fcpellipse10' => [ 1060000.0, "10-pixel fill chord partial ellipse" ],
'fcpellipse100' => [ 296000.0, "100-pixel fill chord partial ellipse" ],
'fspellipse10' => [ 945000.0, "10-pixel fill slice partial ellipse" ],
'fspellipse100' => [ 269000.0, "100-pixel fill slice partial ellipse" ],
'triangle1' => [ 2460000.0, "Fill 1x1 equivalent triangle" ],
'triangle10' => [ 969000.0, "Fill 10x10 equivalent triangle" ],
'triangle100' => [ 97000.0, "Fill 100x100 equivalent triangle" ],
'trap1' => [ 2630000.0, "Fill 1x1 trapezoid" ],
'trap10' => [ 1260000.0, "Fill 10x10 trapezoid" ],
'trap100' => [ 106000.0, "Fill 100x100 trapezoid" ],
'trap300' => [ 11600.0, "Fill 300x300 trapezoid" ],
'strap1' => [ 2010000.0, "Fill 1x1 stippled trapezoid (8x8 stipple)" ],
'strap10' => [ 910000.0, "Fill 10x10 stippled trapezoid (8x8 stipple)" ],
'strap100' => [ 104000.0, "Fill 100x100 stippled trapezoid (8x8 stipple)" ],
'strap300' => [ 11700.0, "Fill 300x300 stippled trapezoid (8x8 stipple)" ],
'ostrap1' => [ 2000000.0, "Fill 1x1 opaque stippled trapezoid (8x8 stipple)" ],
'ostrap10' => [ 907000.0, "Fill 10x10 opaque stippled trapezoid (8x8 stipple)" ],
'ostrap100' => [ 104000.0, "Fill 100x100 opaque stippled trapezoid (8x8 stipple)" ],
'ostrap300' => [ 11600.0, "Fill 300x300 opaque stippled trapezoid (8x8 stipple)" ],
'tiletrap1' => [ 1430000.0, "Fill 1x1 tiled trapezoid (4x4 tile)" ],
'tiletrap10' => [ 778000.0, "Fill 10x10 tiled trapezoid (4x4 tile)" ],
'tiletrap100' => [ 104000.0, "Fill 100x100 tiled trapezoid (4x4 tile)" ],
'tiletrap300' => [ 11600.0, "Fill 300x300 tiled trapezoid (4x4 tile)" ],
'oddstrap1' => [ 1700000.0, "Fill 1x1 stippled trapezoid (17x15 stipple)" ],
'oddstrap10' => [ 296000.0, "Fill 10x10 stippled trapezoid (17x15 stipple)" ],
'oddstrap100' => [ 18600.0, "Fill 100x100 stippled trapezoid (17x15 stipple)" ],
'oddstrap300' => [ 2090.0, "Fill 300x300 stippled trapezoid (17x15 stipple)" ],
'oddostrap1' => [ 1830000.0, "Fill 1x1 opaque stippled trapezoid (17x15 stipple)" ],
'oddostrap10' => [ 296000.0, "Fill 10x10 opaque stippled trapezoid (17x15 stipple)" ],
'oddostrap100' => [ 18400.0, "Fill 100x100 opaque stippled trapezoid (17x15 stipple)" ],
'oddostrap300' => [ 2080.0, "Fill 300x300 opaque stippled trapezoid (17x15 stipple)" ],
'oddtiletrap1' => [ 1710000.0, "Fill 1x1 tiled trapezoid (17x15 tile)" ],
'oddtiletrap10' => [ 296000.0, "Fill 10x10 tiled trapezoid (17x15 tile)" ],
'oddtiletrap100' => [ 18400.0, "Fill 100x100 tiled trapezoid (17x15 tile)" ],
'oddtiletrap300' => [ 2080.0, "Fill 300x300 tiled trapezoid (17x15 tile)" ],
'bigstrap1' => [ 1510000.0, "Fill 1x1 stippled trapezoid (161x145 stipple)" ],
'bigstrap10' => [ 235000.0, "Fill 10x10 stippled trapezoid (161x145 stipple)" ],
'bigstrap100' => [ 9110.0, "Fill 100x100 stippled trapezoid (161x145 stipple)" ],
'bigstrap300' => [ 1260.0, "Fill 300x300 stippled trapezoid (161x145 stipple)" ],
'bigostrap1' => [ 1480000.0, "Fill 1x1 opaque stippled trapezoid (161x145 stipple)" ],
'bigostrap10' => [ 213000.0, "Fill 10x10 opaque stippled trapezoid (161x145 stipple)" ],
'bigostrap100' => [ 8830.0, "Fill 100x100 opaque stippled trapezoid (161x145 stipple)" ],
'bigostrap300' => [ 1420.0, "Fill 300x300 opaque stippled trapezoid (161x145 stipple)" ],
'bigtiletrap1' => [ 1630000.0, "Fill 1x1 tiled trapezoid (161x145 tile)" ],
'bigtiletrap10' => [ 272000.0, "Fill 10x10 tiled trapezoid (161x145 tile)" ],
'bigtiletrap100' => [ 12900.0, "Fill 100x100 tiled trapezoid (161x145 tile)" ],
'bigtiletrap300' => [ 2350.0, "Fill 300x300 tiled trapezoid (161x145 tile)" ],
'eschertiletrap1' => [ 1650000.0, "Fill 1x1 tiled trapezoid (216x208 tile)" ],
'eschertiletrap10' => [ 273000.0, "Fill 10x10 tiled trapezoid (216x208 tile)" ],
'eschertiletrap100' => [ 13400.0, "Fill 100x100 tiled trapezoid (216x208 tile)" ],
'eschertiletrap300' => [ 2450.0, "Fill 300x300 tiled trapezoid (216x208 tile)" ],
'aatrap1' => [ 260000.0, "Fill 1x1 aa trap" ],
'aatrap10' => [ 23500.0, "Fill 10x10 aa trap" ],
'aatrap100' => [ 13300.0, "Fill 100x100 aa trap" ],
'aatrap300' => [ 4450.0, "Fill 300x300 aa trap" ],
'aa4trap1' => [ 2150.0, "Fill 1x1 aa trap with 4 bit alpha" ],
'aa4trap10' => [ 2130.0, "Fill 10x10 aa trap with 4 bit alpha" ],
'aa4trap100' => [ 1890.0, "Fill 100x100 aa trap with 4 bit alpha" ],
'aa4trap300' => [ 1460.0, "Fill 300x300 aa trap with 4 bit alpha" ],
'aa1trap1' => [ 2200000.0, "Fill 1x1 aa trap with 1 bit alpha" ],
'aa1trap10' => [ 357000.0, "Fill 10x10 aa trap with 1 bit alpha" ],
'aa1trap100' => [ 167000.0, "Fill 100x100 aa trap with 1 bit alpha" ],
'aa1trap300' => [ 67000.0, "Fill 300x300 aa trap with 1 bit alpha" ],
'aatrap2x1' => [ 368000.0, "Fill 2x1 aa trap" ],
'aatrap2x10' => [ 25700.0, "Fill 2x10 aa trap" ],
'aatrap2x100' => [ 12400.0, "Fill 2x100 aa trap" ],
'aatrap2x300' => [ 5710.0, "Fill 2x300 aa trap" ],
'aatrapezoid1' => [ 372000.0, "Fill 1x1 aa trapezoid" ],
'aatrapezoid10' => [ 137000.0, "Fill 10x10 aa trapezoid" ],
'aatrapezoid100' => [ 9590.0, "Fill 100x100 aa trapezoid" ],
'aatrapezoid300' => [ 1420.0, "Fill 300x300 aa trapezoid" ],
'addaatrapezoid1' => [ 433000.0, "Fill 1x1 aa pre-added trapezoid" ],
'addaatrapezoid10' => [ 24100.0, "Fill 10x10 aa pre-added trapezoid" ],
'addaatrapezoid100' => [ 13300.0, "Fill 100x100 aa pre-added trapezoid" ],
'addaatrapezoid300' => [ 4460.0, "Fill 300x300 aa pre-added trapezoid" ],
'complex10' => [ 655000.0, "Fill 10x10 equivalent complex polygon" ],
'complex100' => [ 87000.0, "Fill 100x100 equivalent complex polygons" ],
'64poly10convex' => [ 481000.0, "Fill 10x10 64-gon (Convex)" ],
'64poly100convex' => [ 105000.0, "Fill 100x100 64-gon (Convex)" ],
'64poly10complex' => [ 353000.0, "Fill 10x10 64-gon (Complex)" ],
'64poly100complex' => [ 105000.0, "Fill 100x100 64-gon (Complex)" ],
'ftext' => [ 2200000.0, "Char in 80-char line (6x13)" ],
'f8text' => [ 1970000.0, "Char in 70-char line (8x13)" ],
'f9text' => [ 1690000.0, "Char in 60-char line (9x15)" ],
'f14text16' => [ 679000.0, "Char16 in 40-char line (k14)" ],
'f24text16' => [ 272000.0, "Char16 in 23-char line (k24)" ],
'tr10text' => [ 2520000.0, "Char in 80-char line (TR 10)" ],
'tr24text' => [ 940000.0, "Char in 30-char line (TR 24)" ],
'polytext' => [ 2230000.0, "Char in 20/40/20 line (6x13, TR 10)" ],
'polytext16' => [ 369000.0, "Char16 in 7/14/7 line (k14, k24)" ],
'fitext' => [ 1350000.0, "Char in 80-char image line (6x13)" ],
'f8itext' => [ 1130000.0, "Char in 70-char image line (8x13)" ],
'f9itext' => [ 902000.0, "Char in 60-char image line (9x15)" ],
'f14itext16' => [ 449000.0, "Char16 in 40-char image line (k14)" ],
'f24itext16' => [ 169000.0, "Char16 in 23-char image line (k24)" ],
'tr10itext' => [ 1590000.0, "Char in 80-char image line (TR 10)" ],
'tr24itext' => [ 435000.0, "Char in 30-char image line (TR 24)" ],
'aa10text' => [ 53200.0, "Char in 80-char aa line (Charter 10)" ],
'aa24text' => [ 13300.0, "Char in 30-char aa line (Charter 24)" ],
'aaftext' => [ 45200.0, "Char in 80-char aa line (Courier 12)" ],
'a10text' => [ 53100.0, "Char in 80-char a line (Charter 10)" ],
'a24text' => [ 13300.0, "Char in 30-char a line (Charter 24)" ],
'aftext' => [ 45200.0, "Char in 80-char a line (Courier 12)" ],
'rgb10text' => [ 49400.0, "Char in 80-char rgb line (Charter 10)" ],
'rgb24text' => [ 10200.0, "Char in 30-char rgb line (Charter 24)" ],
'rgbftext' => [ 42200.0, "Char in 80-char rgb line (Courier 12)" ],
'caa10text' => [ 15300.0, "Char in 80-char aa core line (Charter 10)" ],
'caa24text' => [ 2540.0, "Char in 30-char aa core line (Charter 24)" ],
'caaftext' => [ 10900.0, "Char in 80-char aa core line (Courier 12)" ],
'ca10text' => [ 15300.0, "Char in 80-char a core line (Charter 10)" ],
'ca24text' => [ 2540.0, "Char in 30-char a core line (Charter 24)" ],
'caftext' => [ 10900.0, "Char in 80-char a core line (Courier 12)" ],
'rgb10text' => [ 15000.0, "Char in 80-char rgb core line (Charter 10)" ],
'rgb24text' => [ 2510.0, "Char in 30-char rgb core line (Charter 24)" ],
'rgbftext' => [ 10700.0, "Char in 80-char rgb core line (Courier 12)" ],
'scroll10' => [ 1310000.0, "Scroll 10x10 pixels" ],
'scroll100' => [ 52000.0, "Scroll 100x100 pixels" ],
'scroll500' => [ 2190.0, "Scroll 500x500 pixels" ],
'copywinwin10' => [ 1030000.0, "Copy 10x10 from window to window" ],
'copywinwin100' => [ 52200.0, "Copy 100x100 from window to window" ],
'copywinwin500' => [ 2080.0, "Copy 500x500 from window to window" ],
'copypixwin10' => [ 502000.0, "Copy 10x10 from pixmap to window" ],
'copypixwin100' => [ 20300.0, "Copy 100x100 from pixmap to window" ],
'copypixwin500' => [ 1020.0, "Copy 500x500 from pixmap to window" ],
'copywinpix10' => [ 7730.0, "Copy 10x10 from window to pixmap" ],
'copywinpix100' => [ 127.0, "Copy 100x100 from window to pixmap" ],
'copywinpix500' => [ 5.0, "Copy 500x500 from window to pixmap" ],
'copypixpix10' => [ 1260000.0, "Copy 10x10 from pixmap to pixmap" ],
'copypixpix100' => [ 56300.0, "Copy 100x100 from pixmap to pixmap" ],
'copypixpix500' => [ 2470.0, "Copy 500x500 from pixmap to pixmap" ],
'copyplane10' => [ 466000.0, "Copy 10x10 1-bit deep plane" ],
'copyplane100' => [ 13700.0, "Copy 100x100 1-bit deep plane" ],
'copyplane500' => [ 671.0, "Copy 500x500 1-bit deep plane" ],
'deepcopyplane10' => [ 151000.0, "Copy 10x10 n-bit deep plane" ],
'deepcopyplane100' => [ 6090.0, "Copy 100x100 n-bit deep plane" ],
'deepcopyplane500' => [ 278.0, "Copy 500x500 n-bit deep plane" ],
'putimage10' => [ 434000.0, "PutImage 10x10 square" ],
'putimage100' => [ 13600.0, "PutImage 100x100 square" ],
'putimage500' => [ 713.0, "PutImage 500x500 square" ],
'putimagexy10' => [ 321.0, "PutImage XY 10x10 square" ],
'putimagexy100' => [ 3.2, "PutImage XY 100x100 square" ],
'putimagexy500' => [ 0.1, "PutImage XY 500x500 square" ],
'shmput10' => [ 465000.0, "ShmPutImage 10x10 square" ],
'shmput100' => [ 20200.0, "ShmPutImage 100x100 square" ],
'shmput500' => [ 1020.0, "ShmPutImage 500x500 square" ],
'shmputxy10' => [ 31400.0, "ShmPutImage XY 10x10 square" ],
'shmputxy100' => [ 458.0, "ShmPutImage XY 100x100 square" ],
'shmputxy500' => [ 19.0, "ShmPutImage XY 500x500 square" ],
'getimage10' => [ 6650.0, "GetImage 10x10 square" ],
'getimage100' => [ 77.0, "GetImage 100x100 square" ],
'getimage500' => [ 3.1, "GetImage 500x500 square" ],
'getimagexy10' => [ 320.0, "GetImage XY 10x10 square" ],
'getimagexy100' => [ 3.2, "GetImage XY 100x100 square" ],
'getimagexy500' => [ 0.1, "GetImage XY 500x500 square" ],
'noop' => [ 8760000.0, "X protocol NoOperation" ],
'pointer' => [ 54800.0, "QueryPointer" ],
'prop' => [ 50900.0, "GetProperty" ],
'gc' => [ 1190000.0, "Change graphics context" ],
'create' => [ 597000.0, "Create and map subwindows (25 kids)" ],
'ucreate' => [ 1100000.0, "Create unmapped window (25 kids)" ],
'map' => [ 1350000.0, "Map window via parent (25 kids)" ],
'unmap' => [ 3360000.0, "Unmap window via parent (25 kids)" ],
'destroy' => [ 1190000.0, "Destroy window via parent (25 kids)" ],
'popup' => [ 660000.0, "Hide/expose window via popup (25 kids)" ],
'move' => [ 120000.0, "Move window (25 kids)" ],
'umove' => [ 1990000.0, "Moved unmapped window (25 kids)" ],
'movetree' => [ 877000.0, "Move window via parent (25 kids)" ],
'resize' => [ 136000.0, "Resize window (25 kids)" ],
'uresize' => [ 1870000.0, "Resize unmapped window (25 kids)" ],
'circulate' => [ 56300.0, "Circulate window (25 kids)" ],
'ucirculate' => [ 3630000.0, "Circulate Unmapped window (25 kids)" ],
};
# This array defines named groups of tests. This is designed to allow
# for simpler runs of related tests.
#
# Note that this array does *not* include all the x11perf tests. The idea
# here is to run a representative sampling of the available tests, to get
# a general idea of a system's performance, without taking forever to
# do it. If you want to do detailed analysis of an X server or graphics
# chip, then use x11perf directly.
my $testGroups = {
'rects' => [ "rect10", "rect100", "oddtilerect10", "eschertilerect100" ],
'lines' => [ "seg100c3", "wvseg100", "ddline100", "worect500" ],
'circle' => [ "circle500", "wddcircle100", "wpcircle100", "fspcircle100" ],
'ellipse' => [ "ddellipse100", "wddellipse100", "pellipse10", "fspellipse100" ],
'shapes' => [ "triangle10", "trap300", "oddostrap300", "eschertiletrap300" ],
'aashapes' => [ "aa4trap300", "aa1trap10", "aatrap2x300", "addaatrapezoid300" ],
'polys' => [ "complex10", "64poly100convex", "64poly10complex", "64poly100complex" ],
'text' => [ "polytext16", "rgb24text", "caa10text", "ca24text" ],
'blit' => [ "scroll100", "copypixwin10", "deepcopyplane10", "putimagexy500" ],
'window' => [ "popup", "move", "movetree", "resize" ],
};
############################################################################
# CODE
############################################################################
# Exec the given command, and catch its standard output.
# We return an array containing the PID and the filehandle on the
# process' standard output. It's up to the caller to wait for the command
# to terminate.
sub command {
my ( $cmd ) = @_;
my $pid = open(my $childFd, "-|");
if (!defined($pid)) {
die("Run: fork() failed (undef)\n");
} elsif ($pid == 0) {
exec($cmd);
die("Run: exec() failed (returned)\n");
}
return ( $pid, $childFd );
}
# Get data from running a system command. Used for things like getting
# the host OS from `uname -o` etc.
#
# Ignores initial blank lines from the command and returns the first
# non-blank line, with white space trimmed off.
sub runTest {
my ( $test, $reps, $time ) = @_;
my $tdata = $testData->{$test};
if (!defined($tdata)) {
printf STDERR "gfx-x11: No such test: %s\n", $test;
exit(9);
}
my $cmd = sprintf "x11perf -repeat %d -subs 25 -time %d -%s",
$reps, $time, $test;
my ( $pid, $fd ) = command($cmd);
my $average = 0;
while (<$fd>) {
chomp;
# Display the output for logging.
printf "%s\n", $_;
# Save the score.
my ( $reps, $per, $rate ) =
( m:([0-9]+)\s+trep\s+@\s+([0-9.]+)\s+msec\s+\(\s*([0-9.]+)/sec\): );
$average = $rate if (defined($rate));
}
# Close the command and wait for it to die. Bomb out if it failed.
# close($fd);
my $p = waitpid($pid, 0);
my $status = $?;
exit($status) if ($status != 0);
# Calculate and return the weighted result.
my $score = $average / $tdata->[0] * 1000.0;
printf "Test %s: %d --> %.1f\n", $test, $average, $score;
return $score;
}
sub runGroup {
my ( $group, $reps, $time ) = @_;
my $gdata = $testGroups->{$group};
if (!defined($gdata)) {
printf STDERR "gfx-x11: No such test group: %s\n", $group;
exit(9);
}
my $count = 0;
my $total = 0;
foreach my $test (@$gdata) {
$total += runTest($test, $reps, $time);
++$count;
}
$total /= $count;
$total;
}
############################################################################
# MAIN
############################################################################
sub main {
my @args = @_;
if (scalar(@args) < 3) {
printf STDERR "Usage: gfx-x11 group reps time\n";
exit(9);
}
my $reps = $args[1];
my $time = $args[2];
my $score = runGroup($args[0], $reps, $time);
printf STDERR "COUNT|%.1f|0|score\n", $score;
return 0;
}
exit(main(@ARGV));

View File

@ -0,0 +1,17 @@
hanoi.ln hanoi.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/hanoi/../../src/hanoi.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,5 @@
PROG=hanoi
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,17 @@
hanoi.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/hanoi/../../src/hanoi.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,3 @@
SCRIPTS=index.base
SCRIPTSNAME=index.base
.include <bsd.prog.mk>

View File

@ -0,0 +1,46 @@
# Baseline benchmark scores, used for calculating index results.
# Scores from "George", a SPARCstation 20-61.
dhry2reg|10|lps|116700|116700|2
whetstone-double|10|MWIPS|55.0|55.0|2
execl|20|lps|43.0|43.0|1
fstime|20|KBps|3960|3960|1
fsbuffer|20|KBps|1655|1655|1
fsdisk|20|KBps|5800|5800|1
pipe|10|lps|12440|12440|2
context1|10|lps|4000|4000|2
spawn|20|lps|126|126|1
shell8|60|lpm|6|6|1
syscall|10|lps|15000|15000|2
# The shell1 test was added to the index in 5.0, and this baseline score
# was extrapolated to roughly match George's performance.
shell1|60|lpm|42.4|42.4|1
# The 2D baseline scores were derived from a test run on an HP Compaq nc8430
# with an ATI Mobility Radeon X1600 Video (256MB) — this is a fairly
# common modern adaptor with 3D. The baseline scores here are then
# 1/66.6 of the values from that run, to bring them roughly in line with
# George. (The HP has an index score of 666.6 single-process.)
2d-rects|3|score|15|15|1
#2d-lines|3|score|15|15|1
#2d-circle|3|score|15|15|1
2d-ellipse|3|score|15|15|1
#2d-shapes|3|score|15|15|1
2d-aashapes|3|score|15|15|1
#2d-polys|3|score|15|15|1
2d-text|3|score|15|15|1
2d-blit|3|score|15|15|1
2d-window|3|score|15|15|1
# The gears test score is derived from a test run on an HP Compaq nc8430
# with an ATI Mobility Radeon X1600 Video (256MB) — this is a fairly
# common modern adaptor with 3D. The baseline scores here are then
# 1/66.6 of the values from that run, to bring them roughly in line with
# George.
ubgears|20|fps|33.4|33.4|3
# The grep and sysexec tests were added in 5.1.1; they are not index tests,
# but these baseline scores were added for convenience.
grep|30|lpm|1|1|3
sysexec|10|lps|25|25|10

View File

@ -0,0 +1,17 @@
arith.ln arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/int/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,7 @@
PROG=int
SRCS=arith.c
CPPFLAGS=-Ddatum='int'
MAN=
.include <bsd.prog.mk>

View File

@ -0,0 +1,17 @@
arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/int/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,17 @@
arith.ln arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/long/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,7 @@
PROG=long
SRCS=arith.c
CPPFLAGS=-Ddatum='long'
MAN=
.include <bsd.prog.mk>

View File

@ -0,0 +1,17 @@
arith.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/long/../../src/arith.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,18 @@
looper.ln looper.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/looper/../../src/looper.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/sys/wait.h ../../src/timeit.c /usr/include/signal.h \
/usr/include/sys/signal.h /usr/include/sys/sigtypes.h \
/usr/include/sys/siginfo.h /usr/include/machine/signal.h \
/usr/include/machine/fpu.h /usr/include/machine/trap.h \
/usr/include/x86/trap.h /usr/include/sys/ucontext.h \
/usr/include/machine/mcontext.h /usr/include/unistd.h \
/usr/include/sys/unistd.h

View File

@ -0,0 +1,5 @@
PROG=looper
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,18 @@
looper.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/looper/../../src/looper.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/sys/wait.h ../../src/timeit.c /usr/include/signal.h \
/usr/include/sys/signal.h /usr/include/sys/sigtypes.h \
/usr/include/sys/siginfo.h /usr/include/machine/signal.h \
/usr/include/machine/fpu.h /usr/include/machine/trap.h \
/usr/include/x86/trap.h /usr/include/sys/ucontext.h \
/usr/include/machine/mcontext.h /usr/include/unistd.h \
/usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,3 @@
SCRIPTS=multi.sh
SCRIPTSNAME=multi.sh
.include <bsd.prog.mk>

View File

@ -0,0 +1,23 @@
#! /bin/sh
###############################################################################
# The BYTE UNIX Benchmarks - Release 3
# Module: multi.sh SID: 3.4 5/15/91 19:30:24
#
###############################################################################
# Bug reports, patches, comments, suggestions should be sent to:
#
# Ben Smith or Rick Grehan at BYTE Magazine
# ben@bytepb.UUCP rick_g@bytepb.UUCP
#
###############################################################################
# Modification Log:
#
###############################################################################
ID="@(#)multi.sh:3.4 -- 5/15/91 19:30:24";
instance=1
while [ $instance -le $1 ]; do
/bin/sh "$UB_BINDIR/tst.sh" &
instance=`expr $instance + 1`
done
wait

View File

@ -0,0 +1,18 @@
pipe.ln pipe.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/pipe/../../src/pipe.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/errno.h /usr/include/sys/errno.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

View File

@ -0,0 +1,5 @@
PROG=pipe
MAN=
.include <bsd.prog.mk>

Binary file not shown.

View File

@ -0,0 +1,18 @@
pipe.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/pipe/../../src/pipe.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/stdlib.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/errno.h /usr/include/sys/errno.h ../../src/timeit.c \
/usr/include/signal.h /usr/include/sys/signal.h \
/usr/include/sys/sigtypes.h /usr/include/sys/siginfo.h \
/usr/include/machine/signal.h /usr/include/machine/fpu.h \
/usr/include/machine/trap.h /usr/include/x86/trap.h \
/usr/include/sys/ucontext.h /usr/include/machine/mcontext.h \
/usr/include/unistd.h /usr/include/sys/unistd.h

Binary file not shown.

View File

@ -0,0 +1,17 @@
time-polling.ln time-polling.o: \
/usr/src/minix/benchmarks/unixbench-5.1.2/pgms/poll/../../src/time-polling.c \
/usr/include/stdio.h /usr/include/sys/cdefs.h \
/usr/include/machine/cdefs.h /usr/include/sys/cdefs_elf.h \
/usr/include/sys/featuretest.h /usr/include/sys/ansi.h \
/usr/include/machine/ansi.h /usr/include/machine/int_types.h \
/usr/include/sys/null.h /usr/include/string.h /usr/include/strings.h \
/usr/include/sys/time.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/machine/endian.h \
/usr/include/sys/endian.h /usr/include/machine/endian_machdep.h \
/usr/include/machine/bswap.h /usr/include/machine/byte_swap.h \
/usr/include/sys/bswap.h /usr/include/sys/fd_set.h \
/usr/include/sys/select.h /usr/include/sys/sigtypes.h \
/usr/include/time.h /usr/include/sys/resource.h \
/usr/include/sys/poll.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/errno.h \
/usr/include/sys/errno.h /usr/include/stdlib.h

Some files were not shown because too many files have changed in this diff Show More