标签:
NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。NumPy本身用C实现。
翻了一下PACKT出版社的学习指南,第一章有一个对比计算效率的例子拿来作为上手。
结果是,在本机32bit的python上跑出来的效果跟书上相差很多,首先是32bit的python整形上限跟64bit相差很多:
>>> sys.maxsize
2147483647
另外还有就是datetime计时精读存在问题。
不管怎样,就当是尝试一把吧,
代码在下面,问题解决 stackoverflow
#-*- coding:utf-8 -*- import sys from datetime import datetime import numpy as np """ Input format: python vectorsum.py n n: the excepted size for the vector """ def numpsysum(n): a = np.arange(n) ** 2 b = np.arange(n) ** 3 c = a + b return c def pythonsum(n): a = range(n) b = 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 pythonsum is:",c[-2:] print "Python method cost time : ",delta.microseconds start = datetime.now() c = numpsysum(size) delta = datetime.now() - start print "The last 2 elements of the numpysum is:",c[-2:] print "NumPy method cost time : ",delta.microseconds
暂时没有大规模处理的需求。留念~
注:Linux上自带的python maxsize是 9223372036854775807
标签:
原文地址:http://www.cnblogs.com/learn-to-rock/p/5444810.html