我正在寻找通过索引访问以下函数的最快容器:
counter = 0
for i in range(large_integer):
for j in range(len(primes)):
if patterns[j][i%primes[j]]:
counter +=1
break
,其中:
大整数大于10^10,
素数是具有连续素数的1D容器。例如(5,7)
patterns是一个2D容器,它为素数中的每个项保存相应长度的1D容器,它保存布尔值。例如:((False,True,False,True,False),(False,False,True,False,True,False,False))
素数的数字应该少于50个,都是唯一的,每个都少于100个。初始施工后,所有集装箱都不会发生变化。
到目前为止,我得到的最好的是元组。我试过使用numpy数组,但是速度慢了2倍。我也尝试过在现场构建相关的布尔值,根本不使用2D容器,但是速度慢了大约5倍。你知道吗
编辑:对于这种大小的容器,带有整数键的字典似乎要快一倍。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐