Interpreting Java program runtimes
Stuart A. Hansen · ACM SIGCSE Bulletin · 2005
Many instructors use program runtimes to illustrate and reinforce algorithm complexity concepts. Hardware, operating systems and compilers all influence the runtimes, but generally not to the extent of making the data difficult to interpret. The Java virtual machine adds an additional layer of software, making it much harder to see the relationship between the runtimes and the underlying algorithm. This paper presents some of the basic issues the author and his students have encountered when analyzing Java program runtimes and briefly discusses strategies to address them.