Software Profiling — Make sure your app is doing great!

Analyze the code, then optimize it!

Photo by Adi Goldstein on Unsplash

What is it?

Software profiling is a dynamic code analysis where a program’s behavior is investigated using the data collected as the program runs. It is used for determining various program sections that you should optimize to increase the application speed, responsiveness and decrease its memory and resource consumption.

Why does it matter?

Software profiling is needed to determine the resource usage and execution time of a specific function within the app. It can help us to determine which function that we need to optimize in order to speed up the application’s speed.

How to do it?

Software profiling can be done by using tools, such as Pyroscope, Retrace, Prefix, Silk, etc. Usually, each language has different code profiler.

Profiling Django App with Silk

By using Silk, we can see overall time that needed by each request to each url. As we can see above, /auth/oauth2callback/ spent the most overall time in my application.

Casual learner