Description

Benchmarks include:

  • Bit twiddling
  • Numerical computing
  • In-memory data structure creation and walking
  • Concurrent computing
  • Calling out from Java/Python/Jython to native libraries
  • Utilization of graphics processing units (GPU) from Java and C

Performance is measured in two ways. In some tests it is measured as the time to complete a task. In some tests it is measured as the rate for doing work -- such as number of floating operations per second. Some results are reported both ways. Most of the test programs report the results to the console as well as to a local results file.

The subdirectories (each with one or more tests) are :

  • GPU utilization. Uses a translation to Java of Apple's GPU/OpenCL FFT's).
    Also uses Olivier Chafik's OpenCL for Java, JavaCL.

    • FFT-J-OpenCL-BridJ-Apple/
  • Non GPU, simple FFTs

    • FFT-J/
    • FFT-C/
    • FFT-Scala/
    • FFT-Testing-Common/
    • FFTW-C/
  • Bit-twiddling

    • JLRSGenTest/
    • CLRSGenTest/
    • SLRSGenTest/
  • Memory structure creation with random traversal using red-black trees

    • RbTree-C-Test/
    • RbTree-J-Test/
    • RbTree-S-Test/
    • RbTree-Py-Test/
  • Matrix multiply

    • MatMul-C
    • MatMul-J
    • MatMul-S
    • MatMul-Py
  • Concurrent computing

    • Parallelism-Benchmarks-C/
    • Parallelism-Benchmarks-J/
  • Method invocation and callout

    • MethodCalls-C
    • MethodCalls-Jy (using Java JNI callout)
    • MethodCalls-Py (using standard CPython extension mechanism)
    • MethodCalls-S
    • MethodCalls-J (uses Olivier Chafik's BridJ and JNAerator)

Platforms

The tests were developed and tested to run on Mac OS X and Linux.


Nazario Irizarry, Jr.
n_irizarry (at) users (dot) sourceforge (dot) net
© 2012 The MITRE Corporation. All Rights Reserved.
Approved for Public Release: 12-2651. Distribution Unlimited.