View difference between Paste ID: J4ZgfwgM and UNcm8x6S
SHOW: | | - or go back to the newest paste.
1
import numpy as np
2
from numba import autojit, jit, void, double, int_
3
4
def doloop(X,Y,mm):
5
    for i in range(Y):
6
        xx = mm[:]
7
        x = 0
8
        for j in range(X):
9
            xx[x] = x
10
            x += 1
11
    return 1
12
13
looper = autojit(doloop)
14
15
if __name__ == '__main__':
16
    X = 1000
17
    Y = 10000000
18
    zz = np.random.random(X)
19
    looper(X, Y, zz)
20
    # zz = np.random.randint(0,9,X)
21
    # zz = [0 for i in range(X)]  # ... much slower than np array
22-
    # doloop(X,Y/10,zz)
22+
    # doloop(X,1000000,zz)
23
    #
24
    # 10,000,000 takes 7.6 seconds with numba
25
    #  1,000,000   takes 166 seconds with python
26
    #  gain = 210 times