Why Software Optimization Matters and Some Thoughts on How to Improve
It
Matthew Arnold, IBM T.J. Watson Research Center
The past decades have seen substantial advances in the way programs are developed, thus improving software developers' ability to construct sophisticated applications. Over these same decades computer systems advanced as well, delivering the performance needed to run these complex applications. However, future trends suggest that the complexity of software will continue to increase, yet the performance improvements obtained from processor technology will diminish. This presents a significant challenge and opportunity for the ``old'' field of software optimization.
In this talk, I will defend why software optimization is important, and argue that today's virtual machines are not making full use of the optimization opportunities available. I will then provide a brief survey of software optimization in virtual machines, debunking several misconceptions about the current field of dynamic optimization, and discussing potential opportunities for moving VM's to the next level of performance.