Here are some different programs for performing benchmarking.
UnixBench contains 9 kinds of tests:
- Dhrystone 2 using register variables
- Double-Precision Whetstone
- Execl Throughput
- File Copy
- Pipe Throughput
- Pipe-based Context Switching
- Process Creation
- Shell Script
- System Call Overhead
Instructions for lmbench-3.0-a9
(Adjust CC and OS according to your needs.)
cd lmbench-3.0-a9/src make CC=arm-linux-gcc OS=arm-linux TARGET=linux
Make the whole lmbench-3.0-a9 directory accessible on the target, e.g. by copying or NFS mount. Make sure the benchmark scripts can write the configuration file and results, and also unpack a tarball used during the benchmark (in case tar is not available on target):
chmod a+w ../bin/arm-linux ../results tar xf webpage-lm.tar
To run the benchmark on the target:
cd lmbench-3.0-a9/src hostname foo # make sure hostname is set, the scripts use it to name config and result files OS=arm-linux ../scripts/config-run OS=arm-linux ../scripts/results
This worked for me on a target using BusyBox v1.10.2 ash.
The results are written into lmbench-3.0-a9/results/, for each run of the ../scripts/results a new file is created. You can copy the results back to your PC and run various kinds of summary postprocessing scripts from lmbench, e.g.
A list of benchmark results would be useful:
- Comparing performance of different FFT implementations on Beagleboard-XM: http://pmeerw.dyndns.org/blog/programming/arm_fft.html