D
2) Сегодня форич быстрее, а завтра хитро оптимизированый while. Нужно использовать то, что тебе дают, а оптимизацией пусть занимается движок, любая твоя "оптимизация" оптимизирует под текущую версию конкретного движка, движков много и они все постоянно обновляются
3) Исходя из п2 и п1 рекомендую использовать читаемый и удобный foreach/for in/for of