挑战
在两个同等大小的缓冲区执行按位异或运算。该缓冲区将被要求是蟒蛇 STR
类型,因为这是传统上在Python数据缓冲区的类型。返回所得到的值作为 STR
。这样做尽可能快。
输入是两个1兆字节(2 ** 20字节)的字符串。
目前的挑战是为基本打我使用python的或现有的第三方Python模块效率低下的算法(放宽的规定:或创建自己的模块)。边际增加是没有用的。
从OS进口urandom的
从numpy的进口frombuffer,bitwise_xor,字节
高清slow_xor(AA,BB):
A = frombuffer(AA,DTYPE =字节)
B = frombuffer(BB,DTYPE =字节)
C = bitwise_xor(A,B)
R = c.tostring()
回报 - [R
AA = urandom的(2 ** 20)
BB = urandom的(2 ** 20)
高清test_it():
对于x中的xrange(1000):
slow_xor(AA,BB)
解决方案
使用 scipy.weave
和的
上一篇:高效名单交集算法高效、算法、名单
下一篇:在无向图周期周期