Problema de desempenho em python com loop aninhado
Consegui melhorar muito um código escrito em python com numpy por causa do produto dot. Agora ainda tenho uma parte do código que ainda é muito lenta. Eu ainda não entendo multithreading e se isso poderia ajudar aqui. Na minha opinião, isso deve ser possível aqui. Você tem uma boa idéia do que fazer aqui?
for x1 in range(a**l):
for x2 in range(a**l):
for x3 in range(a**l):
f11 = 0
cv1 = numpy.ndarray.sum(
numpy.absolute(numpy.subtract(ws[x1], ws[x2])))
cv2 = numpy.ndarray.sum(
numpy.absolute(numpy.subtract(ws[x1], ws[x3])))
if cv1 == 0:
f11 += 1
if cv2 == 0:
f11 += 1
re[x1][x2][x3] = 1.0*r/(a**l-2)*(numpy.product(numpy.absolute(
numpy.subtract((2*ws[x1]+ws[x2]+ws[x3]), 2)))-f11)
f11 *= 1.0*(1-r)/2
re[x1][x2][x3] += f11