<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    hi Keith,<br>
    <br>
    I do not think that your primary concern should be with this kind of
    speed test at this stage :<br>
    1/ rest assured that this sort of tests have been performed in other
    contexts, and you can always do some hard work on high level
    computing languages like IDL and python to improve performance<br>
    2/ "early optimization is the root of all evil" (Knuth?)<br>
    3/ I believe that your primary motivation is to provide an
    alternative library to a proprietary software. If this is so, then
    your effort is most welcome and I would suggest first to port an
    interesting but small piece of the IDL solar physics lib and then
    study the path to speed improvements on such a concrete use case.<br>
    <br>
    As for your python time_test3, if it is a benchmark code proprietary
    to the IDL codebas, there is no wonder it performs well there! :)<br>
    At any rate, I would suggest simplifying your code with ipython :<br>
    <br>
    In [1]: import numpy as np<br>
    In [2]: a = np.zeros([512, 512], dtype=np.uint8)<br>
    In [3]: a[200:250, 200:250] = 10<br>
    In [4]: from scipy import ndimage<br>
    In [5]: %timeit ndimage.filters.median_filter(a, size=(5, 5))<br>
    10 loops, best of 3: 98 ms per loop<br>
    <br>
    I am not sure what unit is your vertical axis....<br>
    <br>
    best,<br>
    Johann<br>
    <br>
    On 09/26/2011 04:19 PM, Keith Hughitt wrote:
    <blockquote
cite="mid:CAOJcpR-emTJtKndVdyLFAOSTrVfD6txoECPj_1xhzXOHhtXvQg@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">Hi all,
        <div><br>
        </div>
        <div>Myself and several colleagues have recently started work on
          a <a moz-do-not-send="true" href="http://www.sunpy.org/"
            target="_blank">Python library for solar physics</a>, in
          order to┬áprovide an alternative to <a moz-do-not-send="true"
            href="http://www.lmsal.com/solarsoft/" target="_blank">the
            current mainstay for solar physics</a>, which is written in
          IDL.</div>
        <div><br>
        </div>
        <div>One of the first steps we have taken is to create <a
            moz-do-not-send="true"
href="https://github.com/sunpy/sunpy/blob/master/benchmarks/time_test3.py"
            target="_blank">a Python port</a> of a popular benchmark for
          IDL (time_test3) which measures performance for a variety of
          (primarily matrix) operations. In our initial attempt,
          however, Python performs significantly poorer than IDL for
          several of the tests. I have attached a graph which shows the
          results for one machine: the x-axis is the test # being
          compared, and the y-axis is the time it took to complete the
          test, in milliseconds. While it is possible that this is
          simply due to limitations in Python/Numpy, I suspect that this
          is due at least in part to our lack in familiarity with NumPy
          and SciPy.</div>
        <div><br>
        </div>
        <div>So my question is, does anyone see any places where we are
          doing things very inefficiently in Python?</div>
        <div><br>
        </div>
        <div>In order to try and ensure a fair comparison between IDL
          and Python there are some things (e.g. the style of timing and
          output) which we have deliberately chosen to do a certain way.
          In other cases, however, it is likely that we just didn't know
          a better method.</div>
        <div><br>
        </div>
        <div>Any feedback or suggestions people have would be greatly
          appreciated. Unfortunately, due to the proprietary nature of
          IDL, we cannot share the original version of time_test3, but
          hopefully the comments in time_test3.py will be clear enough.</div>
        <div><br>
        </div>
        <div>Thanks!<br>
          <font color="#888888">Keith</font></div>
      </div>
      <br>
      -- <br>
      This message has been scanned for viruses and
      <br>
      dangerous content by
      <a moz-do-not-send="true" href="http://www.mailscanner.info/"><b>MailScanner</b></a>,
      and is
      <br>
      believed to be clean.
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
NumPy-Discussion mailing list
<a class="moz-txt-link-abbreviated" href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a>
<a class="moz-txt-link-freetext" href="http://mail.scipy.org/mailman/listinfo/numpy-discussion">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a>
</pre>
    </blockquote>
  </body>
</html>