次のアルゴリズムを複数のコアで処理する方法を見つけようとしていますが、うまくいきません。複数のプロセス間で共有されるロックされたイテレータを使用することは、私が考える最も効率的な方法ではありません。
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 トレーニングの一部です。;-)
このアルゴリズムを複数のコアで実行する良い方法は何ですか?