On Wed, Sep 17, 2008 at 07:12, Arnar Flatberg <[EMAIL PROTECTED]> wrote:
>
> On Wed, Sep 17, 2008 at 3:56 AM, Robert Kern <[EMAIL PROTECTED]> wrote:
>>
>> So, I could use some comments on the workflow. Does this look sensible
>> to everyone? How else would you like to use it?
>
> Works for me. I would love to use it as a part of an ipython session.
> Initially, I sprinkled som $profile in
> a library of my own, then I thought I would use the -s (SETUP) option to
> initialize some data to pass into the $profiled functions. However, I have
> probably misunderstood the meaning of the -s option. Could you give an
> example of its use? I ended in doing a %edit in ipython to write a small
> test script with testdata and library imports, used kernprof.py and
> view_line_prof.py from ipython and captured the output from view_line_prof
> into ipython. Pheew .... now, there's perhaps an easier way?
There is now! Add
import line_profiler
ip.expose_magic('lprun', line_profiler.magic_lprun)
to your ipy_user_conf.py .
In [1]: %lprun?
Type: Magic function
Base Class: <type 'instancemethod'>
Namespace: IPython internal
File: /Users/rkern/hg/line_profiler/line_profiler.py
Definition: %lprun(self, parameter_s='')
Docstring:
Execute a statement under the line-by-line profiler from the
line_profiler module.
Usage:
%lprun -f func1 -f func2 <statement>
The given statement (which doesn't require quote marks) is run via the
LineProfiler. Profiling is enabled for the functions specified by the -f
options. The statistics will be shown side-by-side with the code through the
pager once the statement has completed.
Options:
-f <function>: LineProfiler only profiles functions and methods it is told
to profile. This option tells the profiler about these functions. Multiple
-f options may be used. The argument may be any expression that gives
a Python function or method object. However, one must be careful to avoid
spaces that may confuse the option parser. Additionally, functions defined
in the interpreter at the In[] prompt or via %run currently cannot be
displayed. Write these functions out to a separate file and import them.
One or more -f options are required to get any useful results.
-D <filename>: dump the raw statistics out to a marshal file on disk. The
usual extension for this is ".lprof". These statistics may be viewed later
by running line_profiler.py as a script.
-T <filename>: dump the text-formatted statistics with the code side-by-side
out to a text file.
-r: return the LineProfiler object after it has completed profiling.
> BTW, in the requirements you may want to mention argparse
> (view_line_prof.py)
'tis gone now. The script and the requirement for argparse. Now you
just use line_profiler.py as a script.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
_______________________________________________
Numpy-discussion mailing list
[email protected]
http://projects.scipy.org/mailman/listinfo/numpy-discussion