I tried committing and not committing inside the loop, both result in same performance..Committing the SubmitMainData list outside of looop.
here is the latest flow..
timer set at start and end.
start variable, microflow_start : [%CurrentDateTime%]
end variables , just before end of microflow :
toString(secondsBetween($microflow_start,[%CurrentDateTime%]))