# Parallel slower than non parallel

Howdy. I just made my first attempt at parallel computing in Sage. It didn't go well: My parallel version of the program is slower than the non-parallel version. I assume I've done something wrong. How can I fix this, or at least diagnose the problem? Note that the input (M) is a matrix.

Here's the parallel version:

@parallel
def totaler(i, M_4, M_2, M):
return M_4[i][i] - sum(M_2[i]) - (sum(M[i]) ** 2 - sum(M[i]))
def bccounter(M):
M_2 = M ** 2
M_4 = M_2 ** 2
n = len(M[1])
total = sum([x[1] for x in totaler([(y, M_4, M_2, M) for y in range(n)])])


Here's the non-parallel version:

def bccounter(M):
M_2 = M ** 2
M_4 = M_2 ** 2
n = len(M[1])
total = 0
for i in range(n):
total += M_4[i][i] - sum(M_2[i]) - (sum(M[i]) ** 2 - sum(M[i]))