import sys
from datetime import datetime
import numpy as np
def numpysum(n):
a = np.arange(n) ** 2
b = np.arange(n) ** 3
c = a + b
return c
def pythonsum(n):
a = list(range(n))
b = list(range(n))
c = []
for i in range(len(a)):
a[i] = i ** 2
b[i] = i ** 3
c.append(a[i] + b[i])
return c
size = int(sys.argv[1])
start = datetime.now()
c = pythonsum(size)
delta = datetime.now() - start
print("The last 2 elements of the sum", c[-2:])
print("PythonSum elapsed time in microseconds ", delta.microseconds)
start = datetime.now()
c = numpysum(size)
delta = datetime.now() - start
print("The last 2 elements of the sum", c[-2:])
print("NumPySum elapsed time in microseconds ", delta.microseconds)
运行结果:
python vectorsum.py 100000The last2 elements of the sum [999950000799996, 999980000100000]
PythonSum elapsed timein microseconds 91446The last2 elements of the sum [999950000799996 999980000100000]
NumPySum elapsed timein microseconds 2824python vectorsum.py200000The last2 elements of the sum [7999800001599996, 7999920000200000]
PythonSum elapsed timein microseconds 178237The last2 elements of the sum [7999800001599996 7999920000200000]
NumPySum elapsed timein microseconds 6453python vectorsum.py300000The last2 elements of the sum [26999550002399996, 26999820000300000]
PythonSum elapsed timein microseconds 264677The last2 elements of the sum [26999550002399996 26999820000300000]
NumPySum elapsed timein microseconds 9951