Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install yappi

How to install yappi

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install yappi
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.62 Available View build log
0.54 Available View build log
0.53 Available View build log
Windows (64-bit)
0.62 Available View build log
0.54 Available View build log
0.53 Available View build log
Mac OS X (10.5+)
0.62 Available View build log
0.54 Available View build log
0.53 Available View build log
Linux (32-bit)
0.62 Available View build log
0.54 Available View build log
0.53 Available View build log
Linux (64-bit)
0.62 Available View build log
0.54 Available View build log
0.53 Available View build log
 
Author
License
MIT
Imports
Lastest release
version 0.62 on Mar 7th, 2012

Motivation:

CPython standart distribution is coming with three profilers. cProfile, Profile and hotshot. cProfile module is implemented as a C module based on lsprof, Profile is in pure Python and the hotshot can be seen as a small subset of a cProfile. The motivation to implement a new profiler is that all of these profilers lacks the support of multi-threaded programs. If you want to profile a multi-threaded application, you must give an entry point to these profilers and then maybe merge the outputs. None of these profilers is designed to work on long-running multi-threaded application. While implementing a game server, it turns out that is is impossible to profile an application retrieve the statistics then stop and then start later on on the fly(without affecting the profiled application). With the experience of implementing a game server in Python, we have identified most of the problems, tricky parts regarding profiler usage and so, we have come up with simple but powerful requirements.

Requirements:

  • Profiler should be started/stopped at any time from any thread in the application.
  • Profile statistics should be obtained from any thread at any time.
  • Profile events themselves should work theoretically in O(1) time and O(n+m) space(where m is

System Message: WARNING/2 (<string>, line 24)

Bullet list ends without a blank line; unexpected unindent.

recursion count) per any profile event. This means: application behavior/details/size should not affect the profiler run-time. - "Profiler pollution"(effect on the application run-time) should be very minimal and observable via statistics to see how much load the profiler is putting on the application. Best way to compute this pollution is to compute the percentage of total run time spent in profiler to the total application run-time.(these statistics shall also include space requirements per application) - Profiler shall handle the error/exception situations internally. For example running out of memory should be handled by the profiler itself. No OS/Python VM exception that occurred inside profiler shall not affect the profiled application.

Subscribe to package updates

Last updated Mar 7th, 2012

Download Stats

Last month:3

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.