[C++-sig] profiling python extension

Amos Anderson nitroamos at gmail.com
Sun Feb 28 17:40:11 CET 2010


> Date: Sat, 27 Feb 2010 21:52:17 -0600
> From: Alexey Akimov <alexey.akimov85 at gmail.com>
> To: "Development of Python/C++ integration" <cplusplus-sig at python.org>
> Subject: [C++-sig] profiling python extension
> Message-ID:
>        <382d227f1002271952p25858f1eyeb1c495bd282f2b at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Dear all,
>
> Does anyone know how one may profile a python extention? There is a bunch of
> literature on profiling of pure binaries (programs and even libraries), pure
> python code, etc. However the profiling of a python module from python
> script seems a tricky procedure.
> What I tried is to pass variant=profile to bjam. Everything works fine and I
> get .so library corresponding to my module (placed into /profile
> sub-directory of this particular build). When I execute the python script
> invoking my module's functions (performance of those functions is most
> interesting for me) there is no any output generated (something similar to
> gmon.out). So that is basically my question - how can I retrieve the
> profiling information about my extension? Of course I can compile a normal
> executable using the functions in the module and then use a standard
> approach (and of course gprof), but I hope that there should be more
> straightforward and easy way to do this (hopefully by passing some arguments
> to bjam).
> Thanks in advance.
>
> Alexey


If you're using OSX, then the Shark tool seems to work really well,
and is really easy to use. I does not require that you compile in -pg
mode.

http://developer.apple.com/tools/shark_optimize.html

Amos.


More information about the Cplusplus-sig mailing list