[Cython] Speed of cython.compile
robertwb at math.washington.edu
Wed Sep 21 07:26:36 CEST 2011
On Tue, Sep 20, 2011 at 10:06 PM, Robert Bradshaw
<robertwb at math.washington.edu> wrote:
> On Tue, Sep 20, 2011 at 9:44 PM, Robert Bradshaw
> <robertwb at math.washington.edu> wrote:
>> 2011/9/19 Stéfan van der Walt <stefan at sun.ac.za>:
>>> Hi all,
>>> I only recently found out that the mailing list had shifted, so I hope
>>> my message reaches you this time!
>>> On the current development version of Cython, the attached script
>>> makes Cython go into an infinite loop, but let's hope that's just on
>>> my machine.
>>> ---------- Forwarded message ----------
>>> Date: 2011/8/21
>>> Subject: Speed of cython.compile
>>> To: cython-dev at codespeak.net
>>> Hi all,
>>> I am trying to illustrate Cython's pure mode for a tutorial, and made
>>> up a quick fibonacci example (attached). But when I run the timings,
>>> I get:
>>> Cython: 5.515417099
>>> Python: 0.123511791229
>>> When I compile the module by hand (.pyx -> .c -> .so) the timings are perfect:
>>> Cython: 0.0394787788391
>>> Python: 0.119538068771
>>> Any idea what's going on? I cleared ~/.cython just to be sure, but
>>> that didn't help.
>> Up until https://github.com/cython/cython/commit/cc43e481654c802fb88620de45a3a14257911999
>> , @cython.compile didn't correctly interpret pure directives.
>> Statements like
>> def fib(n):
>> are still on the todo list. Looks like I'm seeing the infinite loop
>> too; looking into it.
> I think the "infinite loop" is re-parsing the code for each of your
> n=1000 iterations.
OK, I just pushed a commit that should speed things up a lot. There's
still a lot of overhead in calling a @cython.compile method that could
be trimmed, but it's nowhere near as extreem as it used to be.
More information about the cython-devel