相关疑难解决方法(0)

简单的Python挑战:数据缓冲区中最快的按位异或

挑战:

在两个大小相等的缓冲区上执行按位XOR.缓冲区将需要是python str类型,因为传统上它是python中数据缓冲区的类型.将结果值作为a返回str.尽快做到这一点.

输入是两个1兆字节(2**20字节)的字符串.

挑战是使用python或现有的第三方python模块(轻松的规则:或创建自己的模块)大幅击败我的低效算法.边际增加是无用的.

from os import urandom
from numpy import frombuffer,bitwise_xor,byte

def slow_xor(aa,bb):
    a=frombuffer(aa,dtype=byte)
    b=frombuffer(bb,dtype=byte)
    c=bitwise_xor(a,b)
    r=c.tostring()
    return r

aa=urandom(2**20)
bb=urandom(2**20)

def test_it():
    for x in xrange(1000):
        slow_xor(aa,bb)
Run Code Online (Sandbox Code Playgroud)

python algorithm performance xor

51
推荐指数
7
解决办法
2万
查看次数

python高效子字符串搜索

可能重复:
如何在CPython中实现string.find?

我在这里阅读了很多关于堆栈溢出的帖子比较子字符串搜索的性能(例如Python字符串搜索效率, 这是搜索子字符串的最有效方法吗?, python中的子字符串等等)

我还看了一下包含abstract.c的源代码实现.

据我所知,内置实现是迭代的:python docs

python是否有更多足够的技术来实现查找子字符串:Boyer-Moore算法, Rabin-Karp算法等...... ???

编辑

问题已经扩展: Python:通过嵌入复杂的算法改进子字符串搜索.

c python algorithm performance substring

11
推荐指数
1
解决办法
1903
查看次数

标签 统计

algorithm ×2

performance ×2

python ×2

c ×1

substring ×1

xor ×1