Content
- Content (this section)
- About
- Getting the source
- Invocation
YAUB basically is a C++ framework for benchmarks. Every benchmark
is derived from a base class and can do whatever it wants.
Implemented benchmarks
-
- examplebench
- This is an example benchmark to show how easy it is to
include self-written benchmarks into yaub. Just look
into the source code.
- wetstone
- This is my version of the original whetstone benchmark.
All modifications of mine were only necessary changes
to get whetstone fit into my framework. I tried to keep
the original as good as possible. Nevertheless it is'nt
the original benchmark anymore, hence the name-change.
- drystone
- This is my version of the original dhrystone benchmark.
The same remarks as for wetstone apply here.
- arith
- This is a template class. It does simple arithmetic operations
to the given variable type.
The compiled binary uses it to benchmark operations of
- char
- short int
- int
- long
- long long
- float
- double
- long double
You can add whatever datatype you want, needed operations are
+=, -=, *=, /=, = and ==
- membench
- membench knows some different algorithms to copy data from
one memory location to another. The binary calls all of them.
↑ Top of page ↑
Getting the source
General
I use GIT repositories, hosted on gitlab as my version control
system of choice - and I recommend you read up on the
Git documentation.
The webpage is hosted here
If you wish to contribute to development, feel free. To get started,
you're probably best off sending me an email, or
just checking out repositories and sending me patches via git diff.
About GIT
GIT is a source code management tool.
You must have a recent version of git installed on your system in order
to get the sources of fgms. Cygwin and most modern linux distributions
offer an installable git package that should work great.
On this page
I describe how to get the sources with the (unix) command line client. If
you use another operating system or client, I can't assist you. If you
have experience with other operating systems/clients, feel free to send
me a description of how you get the sources with it.
Prerequisites
In order to compile the source into an executable file you need a
working build environment preinstalled on your system:
- A working c compiler (like gcc)
- make
Step 1 - creating a directory for the sources
cd /some/path
Step 2 - checking out the sources
git clone https://oschroeder@gitlab.com/oschroeder/yaub.git
Step 3 - compiling the source
Compile the sources:
cd yaub
make
↑ Top of page ↑
Invocation and example output
yaub does not accept any commandline arguments, so simply execute the binary:
$ ./yaub
@(#) Yet Another Useless Benchmark v0.1 (c) 2005 by Oliver Schroeder
I know 16 benchmarks
running drystone........................10452.7 drystones
running wetstone........................1381.98 mwips
running arith_char......................9.11149 points
running arith_short_int.................13.0246 points
running arith_int.......................12.1302 points
running arith_long......................7.85253 points
running arith_long_long.................7.78469 points
running arith_float.....................14.2918 points
running arith_double....................13.7766 points
running arith_long_double...............7.14067 points
running membench simple copy............447.966 MByte/sec
running membench smart copy.............3821.94 MByte/sec
running membench system copy............34560.3 MByte/sec
running membench simple fill............496.416 MByte/sec
running membench smart fill.............4364.99 MByte/sec
running membench system fill............27441.4 MByte/sec
time: 442.996
83052.8 points
$
↑ Top of page ↑
copyright © 1997-2025
Oliver Schroeder
(remove XYZ)