update
This commit is contained in:
58
2022.03.06_numba_time/numba_time_2.py
Normal file
58
2022.03.06_numba_time/numba_time_2.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from numba import jit
|
||||
from numba import prange
|
||||
import time
|
||||
import numpy as np
|
||||
|
||||
numpy_array = np.arange(0,1e5,1)
|
||||
times = 1000
|
||||
|
||||
def for_sum(numpy_array):
|
||||
sum = 0
|
||||
for number in numpy_array:
|
||||
sum += number
|
||||
return sum
|
||||
|
||||
@jit
|
||||
def numba_for_sum_1(numpy_array):
|
||||
sum = 0
|
||||
for number in numpy_array:
|
||||
sum += number
|
||||
return sum
|
||||
|
||||
@jit(nopython=True)
|
||||
def numba_for_sum_2(numpy_array):
|
||||
sum = 0
|
||||
for number in numpy_array:
|
||||
sum += number
|
||||
return sum
|
||||
|
||||
@jit(nopython=True, parallel=True)
|
||||
def numba_for_sum_3(numpy_array):
|
||||
sum = 0
|
||||
for i in prange(len(numpy_array)):
|
||||
sum += numpy_array[i]
|
||||
return sum
|
||||
|
||||
start = time.time()
|
||||
for _ in range(times):
|
||||
result = for_sum(numpy_array)
|
||||
end = time.time()
|
||||
print('for循环时间:', end - start)
|
||||
|
||||
start = time.time()
|
||||
for _ in range(times):
|
||||
result = numba_for_sum_1(numpy_array)
|
||||
end = time.time()
|
||||
print('@jit时间:', end - start)
|
||||
|
||||
start = time.time()
|
||||
for _ in range(times):
|
||||
result = numba_for_sum_2(numpy_array)
|
||||
end = time.time()
|
||||
print('@jit(nopython=True)时间:', end - start)
|
||||
|
||||
start = time.time()
|
||||
for _ in range(times):
|
||||
result = numba_for_sum_3(numpy_array)
|
||||
end = time.time()
|
||||
print('@jit(nopython=True, parallel=True)时间:', end - start)
|
Reference in New Issue
Block a user