Any way to improve speed on Mesh.MoveNode on list of nodes

Hello,
I am looking to update a large number of nodes position of a mesh. I tried to parallelize this with small pools nodesIDs and then use multiprocessing or multithreading (so I can divide the large number of nodes IDs) and update them separetly as this in theory are independent. but I have not had any luck with multiprocessing if i remember correctly it fails, and multithreading it simply does nothing to the mesh.
would appreciate any input on this!. right now doing this line:

[Mesh.MoveNode(nodeID,newPositions[nNode][0],newPositions[nNode][1],newPositions[nNode][2]) for nNode,nodeID in enumerate(nodesIDs) if nodeID not in allNodesToCalculate]

takes 4.5 hrs…