我正在尝试找到一种方法来使以下算法在多个内核上进行处理,但我的观点并不好。我认为使用在多个进程之间共享的锁定迭代器并不是最有效的方式。
def sortCharset(set):
_set = ""
for c in set:
if c not in _set:
_set += c
set = _set
del _set
set = list(set)
set.sort()
return "".join(set)
def stringForInt(num, set, length):
setLen = len(set)
string = ""
string += set[num % setLen]
for n in xrange(1,length):
num //= setLen
string += set[num % setLen]
return string
def bruteforce(set, length, raw = False):
if raw is False:
set = sortCharset(set)
for n in xrange(len(set) ** length):
yield stringForInt(n, set, length)
简短说明:该代码用于从一组字符创建每个可能的组合,即破解密码。(当然不是我的意图,只是一些 Py 训练。;-)
在多核上运行此算法的好方法是什么?