Process each row in a separate goroutine. Some optimizations.