Performance is critical to the success of an application.The user doesn’t not only require it runs right but also require it runs fast.So performance planning and analysis should be included in all the life cycle of development.
Actually performance relies on several factors:
- 3rd party system/libraries
But here I’ll only focus on software part.
First, before starting the project, we should have a performance planning in mind.Performance should be an afterthought. Especially because architectural problem cause some performance problem can’t be fixed except redesign all the application. Following figure shows different levels of tuning.The most important part is on the bottom.
Profiling is a focused look at measurable aspects of a system to determine its performance.It provides necessary information for analysis or other steps. Profiler in Java normally falls into following categories.
- Load testing/driving
- Logging / log analysis ( log4j or others + Aspects )
- Java Interactive Profiler
- GlassBox Inspector
- Contained profiling (profiler warps app)
- Jfluid/NetBeans Profiler
- Eclipse TPTP
- External profilling via JVMPI
Analysis Process as following steps:
Finally: Beautiful code is fast code.