Выполнение моего кода на 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)
Извините мой английский
Это должно перейти в группу [code-review] (http://stackoverflow.com/questions/tagged/code-review). – Prune
Не могли бы вы объяснить немного больше о том, что делает эта функция? Потому что он выглядит очень ужасно неэффективным (ваш пример повторяется через 'C (100, 10) * C (10, 5)' равно чуть более 4.3 квадриллионов возможностей). –
... при миллионе комбинаций в секунду потребуется около 138 лет. * Поиск лучшего алгоритма * почти наверняка лучше, чем хруст быстрее *. –