| Сообщение от Octane | 
	| у setTimeout есть минимальная задержка 3-5 мс, передавать 0 бесполезно | 
	
это понятно 

Если функция вызывается асинхронно, то время, когда именно она будет  вызвана может варьироваться и зависит от ряда факторов. О какой скорости может идти речь в этом случае, я не понимаю 
 
В первом варианте заменил alert() на console.log(), в хроме получилось синхронно.