I know that reducing the instruction into multiple steps helps performance, does this apply to IO vs OoO?
Is executing OoO faster than IO generally?
Generally yes simply because if it can't reorder anything it will execute in order, but the compiler plays a big role in that. If you really want to know more there's a good (old) paper on it. OoOE vs. SMT. Please note that it is 14 years old but the basic problem still applies.