RSS feed for this section

Archive | Memory profiling

Profiling Most Relevant Sections of the Application

Long-running applications are not always busy doing work. In case of, for instance, web, serverless or microservice applications, the work is done on every request and the processes are idle the rest of the time. Similarly, if the program is processing messages from the queue, it may be idle when it is waiting for messages. […]

Read More Comments Off on Profiling Most Relevant Sections of the Application

Go Profiler Internals

Profilers provide application developers with critical execution insights that enable resolving performance issues, locating memory leaks, thread contention, and more. Although hot code stack traces and call graphs generated by the profilers are usually self-explanatory, it is sometimes necessary to understand how profilers work underneath to infer even greater details about applications from the generated […]

Read More Comments Off on Go Profiler Internals

Continuous Performance Profiling

Computational complexity requirements The difference between exponential, linear, logarithmic and constant execution time of a program is critical for various use cases. Even if an algorithm is purposely designed to satisfy a certain complexity class, there are multiple reasons why it might not. An underlying library, OS or even hardware can be the root cause […]

Read More Comments Off on Continuous Performance Profiling

Detecting and Locating Memory Leaks in Production Python Applications

A reference to an object, if not properly managed, may be left assigned even if unused. This usually happens on an application logic level, but can also be an issue inside of an imported package. If memory leak appears in production environment, it is very hard to detect and fix it in development or staging […]

Read More Comments Off on Detecting and Locating Memory Leaks in Production Python Applications

Memory Leak Detection in Production Go Applications

Memory leaks are very common in almost any language, including garbage collected languages. Go is not an exception. A reference to an object, if not properly managed, may be left assigned even if unused. This usually happens on an application logic level, but can also be an issue inside of an imported package. Unfortunately, it […]

Read More Comments Off on Memory Leak Detection in Production Go Applications