我做了一些分析,结果完全违反直觉。对于简单的数组访问操作, numpy和array.array比本地Python arrays慢10倍 。
请注意,对于数组访问,我正在执行以下形式的操作:
a[i] += 1
个人资料:
[0] * 20000000
- 存取:2.3M /秒
- 初始化:0.8秒
numpy.zeros(shape =(20000000,),dtype = numpy.int32)
存取:160K /秒
- 初始化:0.2s
array.array(’L’,[0] * 20000000)
访问:175K /秒
- 初始化:2.0秒
array.array(’L’,(范围(20000000)中的i为0))
访问速度:175K /秒,大概是基于另一个数组的配置文件。
- 初始化:6.7s