mbw(1) Memory BandWidth benchmark

SYNOPSIS

mbw [options] arraysize_in_MiB

DESCRIPTION

mbw determines available memory bandwidth by copying large arrays of data in memory.

OPTIONS

-q
Quiet; suppress informational messages.
-a
Suppress printing the average of each test.
-n <number>
Select number of loops per test
-t <number>
Select tests to be run. If no -t parameters are given the default is to run all tests. -t0: memcpy() test, -t1: dumb (b[i]=a[i] style) test, -t2: memcpy() with arbitrary block size
-b <bytes>
Block size in bytes for -t2.
-h
Show quick help.

USAGE

mbw will allocate two arraysize arrays in memory and copy one to the other. Reported 'bandwidth' is the amount of data copied over the time this operation took.

Obviously mbw needs twice arraysize MiBytes (1024*1024 bytes) of physical memory - you'd better switch off swap or otherwise make sure no paging occurs. Needless to say that it should not be run on a busy system.

TODO

Multiple thread support. Better configurability, including using getopt() for parsing arguments.