Chapter 7. Performance Optimization
Performance optimization is additive by nature, as in it works by adding performance tuning to the knowledge of how the underlying system works, and to the result of performance measurement. This chapter builds on the previous ones that covered "how the underlying system works" and "performance measurement". Though you will notice some recipe-like sections in this chapter, you already know the pre-requisite in order to exploit those well. Performance tuning is an iterative process of measuring performance, determining bottlenecks, applying knowledge in order to experiment with tuning the code, and repeating it all until performance improves. In this chapter, we will cover:
- Setting up projects for better performance
- Identifying performance bottlenecks in the code
- Profiling code with VisualVM
- Performance tuning of Clojure code
- JVM performance tuning