Try starting script with SetBatchLines -1 or SetMouseDelay -1? Scripts have an "auto-sleep" of 10 - 20 ms between commands, which you can reduce to 0. Dunno if it will speed up the first script enough to make your happy or not, but the details are here:
SetMouseDelay
Might help you figure out what's slowing it down. My scripts using SendInput work instantly - I can't see anything but a jump to final state.