Deprecating reload() ???

Skip Montanaro skip at
Wed Mar 17 02:48:06 CET 2004

    Dave> Interesting.  I just ran a test comparing 10,000 calls to the
    Dave> original h23 above with 10,000 calls to h23a below.


    Dave> The results are very close:

    Dave>    time/loop (sec)    %
    Dave> Test 1: 6.48E-006   119.1 (class PZfuncs)
    Dave> Test 2: 6.88E-006   126.4 (module PZfuncs)
    Dave> Test 3: 5.44E-006   100.0 (z1, p1, etc  outside loop)

I'm not sure what these particular tests are measuring.  I can't tell which
are h23() calls and which are h23a() calls, but note that because h23() and
h23a() are actually quite simple, the time it takes to call them is going to
be a fair fraction of all calls.

For timing stuff like this I recommend you use  Most people here
are getting used to looking at its output.  Put something like:

    import PZfuncs
    h0 = PZfuncs.h0
    z1 = PZfuncs.z1; z2 = PZfuncs.z2
    p1 = PZfuncs.p1; p2 = PZfuncs.p2; p3 = PZfuncs.p3

    def h23null(freq):

    def h23a(freq):
        s = complex(2*pi*freq)
        return h0*(s-z1)*(s-z2)/((s-p1)*(s-p2)*(s-p3))

    def h23b(freq):
        z = PZfuncs
        s = complex(2*pi*freq)
        return z.h0*(s-z.z1)*(s-z.z2)/((s-z.p1)*(s-z.p2)*(s-z.p3))

into then run like: -s "import h23 ; freq = NNN" "h23null(freq)" -s "import h23 ; freq = NNN" "h23a(freq)" -s "import h23 ; freq = NNN" "h23b(freq)"

Its output is straightforward and pretty immediately comparable across the
runs.  The h23null() run will give you some idea of the call overhead.  You
can, of course, dream up h23[cdefg]() variants as well.

Post code and results and we'll be happy to throw darts... :-)


More information about the Python-list mailing list