In [1]:
import falcon

In [4]:
def foo(x, y, z):
    for i in range(x):
        for j in range(y):
            for k in range(z):
                (i * j) / max((k + i) ** 2, 1)

In [13]:
%time foo(1000, 200, 400)


CPU times: user 27.6 s, sys: 212 ms, total: 27.8 s
Wall time: 27.6 s

In [9]:
@falcon.wrap
def foo_falcon(x, y, z):
    for i in range(x):
        for j in range(y):
            for k in range(z):
                (i * j) / max((k + i) ** 2, 1)

In [14]:
%time foo_falcon(1000, 200, 400)


CPU times: user 23.2 s, sys: 0 ns, total: 23.2 s
Wall time: 23.2 s

In [16]:
%load_ext cython

In [18]:
%%cython

def foo_cython1(x, y, z):
    for i in range(x):
        for j in range(y):
            for k in range(z):
                (i * j) / max((k + i) ** 2, 1)

In [19]:
%time foo_cython1(1000, 200, 400)


CPU times: user 11.5 s, sys: 0 ns, total: 11.5 s
Wall time: 11.5 s

In [22]:
%%cython

cpdef foo_cython2(int x, int y, int z):
    for i in range(x):
        for j in range(y):
            for k in range(z):
                (i * j) / max((k + i) ** 2, 1)

In [23]:
%time foo_cython2(1000, 200, 400)


CPU times: user 11.2 s, sys: 0 ns, total: 11.2 s
Wall time: 11.2 s

In [ ]: