Tuning Python applications can dramatically increase performance
Formal Metadata
| Title | Tuning Python applications can dramatically increase performance |
|
| Title of Series | |
| Part Number | 144 |
| Number of Parts | 173 |
| Author | |
| License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license. |
| Identifiers | |
| Publisher | |
| Release Date | |
| Language | |
| Production Place | Bilbao, Euskadi, Spain |
Content Metadata
| Subject Area | |
| Genre | |
| Abstract | Vasilij Litvinov - Tuning Python applications can dramatically increase performance
Traditional Python profiling tools have limitations. Standard tools
like **cProfile** and most all third party tools (like **Python
Tools** plugin for Microsoft Visual Studio) suffer from common flaws.
First, the profiling overhead is high (up to 50%). Second, the
information provided is “function-level” i.e. the tool shows how much
time was spent within a function, but not actionable “line-level”
information to show which exact lines are _the bottleneck_ in a
function. Adding “line-level” information to most tools causes the
application to run even slower. Third, some tools require modification
of the application source code to enable profiling thus disrupting
development.
This talk presents an experimental Python profiler. It typically has
less than 15% overhead, shows line-level information and does not
require modification of application source code. Experiments using it
resulted in performance gains of 2x and more. Of course results vary
by application, but in a typical application there may be quick
optimizations easily identified by this type of profiler.
The talk will briefly describe the basics of what, why and how to
profile. The profiler‘s use and results will be shown in the
presentation with examples based on real-life applications. Previous
experience of working with profilers and trying to optimize an
application is a plus, but not required, to gain a better appreciation
of the work presented. |
|
| Keywords | |