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 |