In [1]:
%load_ext cythonmagic
import numpy as np

In [8]:
%%cython
cimport numpy as np
def adding_one(np.ndarray[np.float64_t, ndim=1] ndarray):
    for i in xrange(len(ndarray)):
        ndarray[i] += 1

In [10]:
a = np.zeros(100000)
%timeit adding_one(a)


10000 loops, best of 3: 113 µs per loop

In [11]:
a = np.zeros(100000)
%timeit np.add(a, 1, out=a)


10000 loops, best of 3: 33.6 µs per loop

In [19]:
def appending(n):
    data = []
    for i in xrange(n):
        data.append(0)

In [20]:
%timeit appending(20)


100000 loops, best of 3: 2.37 µs per loop

In [21]:
%%cython 

def cy_appending(n):
    data = []
    for i in xrange(n):
        data.append(0)

In [22]:
%timeit cy_appending(20)


1000000 loops, best of 3: 843 ns per loop

In [ ]: