By Mike Shostak, Stacey Jenkins, and Negar Tehrani
A C implementation of the peg jumping game is used to provide insight into the hardware aspect of software run times. The input is constant, the algorithm is constant, however the benchmark will be run on different CISC & RISC architectures. Run time tests will inevitably differ, however many explanations for run time differences will be given, such as TSR'S, multiple users, caches, memory, etc. After system vs. run time analysis is considered, the compiler will be considered.
This project should give the reader insight into the run time differences of different architectures. Despite different clock speeds, the reader will see how there are many other factors that affect run time, and how benchmarks can be potentially biased, and how clock rates - which are often boasted - can be misleading. The reader will better understand the role of the compiler, how different compilers on the same exact machine effect program run time, and how significant optimizations can be. Finally, speed differences of the computer devices and code changes (not algorithm) will be better understood - for example how logical operations and inline functions eliminate instruction overhead.
Go to "Project Analysis" to see the analysis of running the toy benchmark on different systems. "Practice Questions" will give you practice problems pertaining to benchmarks. You can view or download the actual benchmark program used by going to "Benchmark Program". Check out "Links" to see some links we think pertain to this project.