Принятый ответ неправильно !
Поскольку JavaScript является асинхронным, значения переменной end принятого ответа будут неправильными.
var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
// JavaScript is not waiting until the for is finished !!
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Выполнение for может быть очень быстрым, поэтому вы не можете видеть, что результат неверен. Вы можете проверить это с помощью кода, выполняющего некоторый запрос:
var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
$.ajax({
url: 'www.oneOfYourWebsites.com',
success: function(){
console.log("success");
}
});
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Таким образом, предупреждение будет выдано очень быстро, но в консоли вы увидите, что запросы ajax продолжаются.
Вот как вы должны это сделать: https://developer.mozilla.org/en-US/docs/Web/API/Performance.now