Bytemark
Up-to-date source code. |
|
---|---|
Numeric sort CC source Java source |
Generic integer performance. Should exercise non-sequential
performance of cache (or memory if cache is less than 8K). Moves 32-bit
longs at a time, so 16-bit processors will be at a disadvantage. |
String sort CC source Java source |
Tests memory-move performance. Should exercise non-sequential
performance of cache, with added burden that moves are byte-wide and can
occur on odd address boundaries. May tax the performance of cell-based
processors that must perform additional shift operations to deal with bytes.
|
Bitfield CC source Java source |
Exercises "bit twiddling" performance. Travels
through memory in a somewhat sequential fashion; different from sorts in
that data is merely altered in place. If properly compiled, takes into
account 64-bit processors, which should see a boost. |
Emulated F. P. CC source Java source |
Past experience has shown this test to be a good measurement
of overall performance. |
Fourier CC source Java source |
Good measure of transcendental and trigonometric performance
of FPU. Little array activity, so this test should not be dependent of
cache or memory architecture. |
Assignment CC source Java source |
The test moves through large integer arrays in both row-wise
and column-wise fashion. Cache/memory with good sequential performance
should see a boost (memory is altered in place -- no moving as in a sort
operation). Processing is done in 32-bit chunks -- no advantage given to
64-bit processors. |
Huffman CC source Java source |
A combination of byte operations, bit twiddling, and
overall integer manipulation. Should be a good general measurement. |
Idea CC source Java source |
Moves through data sequentally in 16-bit chunks. Should
provide a good indication of raw speed. |
Neural Net CC source Java source |
Small-array floating-point test heavily dependent on
the exponential function; less dependent on overall FPU performance. Small
arrays, so cache/memory architecture should not come into play. |
LU decomp. CC source Java source |
A floating-point test that moves through arrays in both
row-wise and column-wise fashion. Exercises only fundamental math operations
(+, -, *, /). |
If you ant to do the benchmarks yourself, you'll also need (some of) the following classes: BMglobals.java BmarkTest.java ClockTest.java EmFloatPnt.java InternalFPF.java RandNum.java huff_node.java jBYTEmark.java | |
Objects & Functions
|
|
Object
type A CC source Java source |
Allocates memory of a random size (0-5000 bytes). Implemented in testclass . |
Object
type B CC source Java source |
Creates 10*2500 objects at random position in an array (size:2500). In C++ the old object is explicitly deleted if this position is already occupied while in Java this is left to the garbage collection. |
function CC source Java source |
Calls non-virtual function func in
testclass1
(calculates t=t+1). |
virtual-function calls
CC source Java source |
Virtual function func in testclassr is overwritten by virtual function func in testclass2. |