Anche se è meno elegante, for separati tutta la vita. In ogni caso sono più performanti, o almeno non mi risulta alcuna architettura in cui possa verificarsi il contrario (né mi viene in mente come potrebbe accadere).
Questi ragionamenti li devo fare di continuo sviluppando in JavaScript, dove l'ottimizzazione è ridotta a zero o quasi.