This patch proposes to reduce the number of collisions computed by avoiding overlapping tris with the same combination (eg. (1,0) and (0,1)).
Initially this resulted in a phantom force pushing the creases of the cloth in one direction.
To avoid this I changed the self collision algorithm to compute the force for action and reaction instead of just action.
The result was a 15% improvement in self-collision performance.
There was also an improvement in simulation in some cases:
But a worsening in others:
But in this case the original is also bad which indicates that the problem is elsewhere.