guanjihuan.com/2022.03.06_numba_time/numba_time_with_parameters.py
2025-03-10 15:52:38 +08:00

57 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from numba import jit
from numba import prange
import time
import numpy as np
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
numpy_array = np.arange(0,1e9,1)
start = time.time()
result = for_sum(numpy_array)
end = time.time()
print('\nresult:', result)
print('for循环时间', end - start)
start = time.time()
result = numba_for_sum_1(numpy_array)
end = time.time()
print('\nresult:', result)
print('@jit时间', end - start, '\n')
start = time.time()
result = numba_for_sum_2(numpy_array)
end = time.time()
print('\nresult:', result)
print('@jit(nopython=True)时间:', end - start, '\n')
start = time.time()
result = numba_for_sum_3(numpy_array)
end = time.time()
print('\nresult:', result)
print('@jit(nopython=True, parallel=True)时间:', end - start, '\n')