Я пытаюсь выполнить выполнение моей функции в миллисекундах. Я использую выступление.now() чтобы сделать это. Я могу получить время на первом запуске, но на втором, третьем и т. Д. Я получаю 0 миллисекунд. Вот пример:Сроки с javascript performance.now()
function someFunction(){
var t0 = performance.now();
//Function calculations
var t1 = performance.now();
Console.log(t1 - t0);
}
запускает функцию OnClick. Он работает, когда я впервые запускаю страницу. Он перестает работать над вторым кликом. t0 и t1 получают одинаковые значения, и когда я их вычитаю, я получаю 0 за время. Во всяком случае, вокруг? Мне не обязательно использовать функцию performance.now(). Я просто хочу измерить время в миллисекундах.
спасибо.
Обновление Я думаю, что это имеет все, что связано со скоростью. Например:
<html>
<script type="text/javascript">
\t function someFunction(){
var t0 = performance.now();
console.log(t0);
//Function calculations
//Some loop
var counter = 0;
for (i = 0; i < 1000000; i++) {
\t counter ++;
\t }
var t1 = performance.now();
console.log(t1);
console.log(t1 - t0);
}
</script>
<button type="button" onclick="someFunction()">Click me</button>
</hmtl>
Работы, как я хотел бы ожидать, но с петлей for (i = 0; i < 1000; i++)
нет.
Благодарим за указатели в правильном направлении.
Возможно, браузер оптимизирует код в первом прогоне, поэтому следующие быстрые. – Oriol
Я бы предложил вам показать нам фактический код, который вы пытаетесь измерить в jsFiddle. Помимо этого факта, что это 'console.log (t1 - t0)' с нижним регистром 'c', нет ничего плохого в коде, который вы показали, поэтому время идет буквально так быстро, что оно выходит как' 0' ms или что-то еще не так в коде, который вы не показываете. – jfriend00
Просто скопировал ваш код и протестировал его. Каждый раз, когда он дает мне результаты больше 0. Возможно, также укажите, что браузер и операционная система вы используете? – TimeString