[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#951348: RFP: scalene -- high-performance, high-precision CPU and memory profiler for Python



Package: wnpp
Severity: wishlist

* Package name    : scalene
  Version         : 0.7.5
  Upstream Author : Emery Berger
* URL             : https://github.com/emeryberger/scalene
* License         : Apache
  Programming Lang: Python
  Description     : high-performance, high-precision CPU and memory profiler for Python

Scalene is a high-performance CPU and memory profiler for Python that does a few
things that other Python profilers do not and cannot do. It runs orders of
magnitude faster than other profilers while delivering far more detailed
information

 * Scalene is fast. It uses sampling instead of instrumentation or relying on
   Python's tracing facilities. Its overhead is typically no more than 10-20%
   (and often less).
 * Scalene is precise. Unlike most other Python profilers, Scalene performs CPU
   profiling at the line level, pointing to the specific lines of code that are
   responsible for the execution time in your program. This level of detail can
   be much more useful than the function-level profiles returned by most
   profilers.
 * Scalene separates out time spent running in Python from time spent in native
   code (including libraries). Most Python programmers aren't going to optimize
   the performance of native code (which is usually either in the Python
   implementation or external libraries), so this helps developers focus their
   optimization efforts on the code they can actually improve.
 * Scalene profiles memory usage. In addition to tracking CPU usage, Scalene
   also points to the specific lines of code responsible for memory growth. It
   accomplishes this via an included specialized memory allocator.


Reply to: