我的python代碼的執行速度太慢,我有7個處理器和python只使用一個,我剛剛發現多處理選項,但我不知道如何使用它,所以你可以修改我的下面的代碼使用這個選項?多處理和python代碼
from itertools import combinations
def New5(A,C5):
d=True
for a in A:
if(d==True):
d=(a not in C5)
return d
def refcomb10(h):
T=[]
C5={0}
b=0
C10=combinations(range(h),10)
for S in C10:
A=combinations(S,5)
if(New5(A,C5)):
A=combinations(S,5)
for a in A:
C5.update({a})
T.append(S)
b+=1
print(b,S)
return([T,C5])
U=refcomb10(60)
原諒我的英語
這應該移動到[代碼審查](http://stackoverflow.com/questions/tagged/code-review)組。 – Prune
你能解釋一下這個函數在做什麼嗎?因爲它看起來真的非常低效(你的例子通過迭代「C(100,10)* C(10,5)」等於超過4.3萬億次可能性)。 –
......以每秒百萬組合的速度,完成大約需要138年的時間。 *找到更好的算法*幾乎可以肯定比*更快速地*更好。 –