Content

  1. Content (this section)
  2. About
  3. Getting the source
  4. Invocation

About

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

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-2024  Oliver Schroeder (remove XYZ)