在这篇文章为什么处理排序数组比随机数组更快,它说分支预测是排序数组性能提升的原因。
但我只是尝试了使用 Python 的示例;而且我认为排序数组和随机数组之间没有区别(我尝试了 bytearray 和数组;并使用 line_profile 来分析计算)。
我错过了什么吗?
这是我的代码:
from array import array
import random
array_size = 1024
loop_cnt = 1000
# I also tried 'array', and it's almost the same
a = bytearray(array_size)
for i in xrange(array_size):
a.append(random.randint(0, 255))
#sorted
a = sorted(a)
@profile
def computation():
sum = 0
for i in xrange(loop_cnt):
for j in xrange(size):
if a[j] >= 128:
sum += a[j]
computation()
print 'done'