JavaScript для времени между двумя различными входами - PullRequest
0 голосов
/ 16 января 2012

Скажем, я хотел определить функцию "start" и функцию "stop", и я хотел как можно точнее вывести реальное время между двумя вызываемыми функциями? Прошедшее время, вероятно, будет в микросекундах.

Ответы [ 4 ]

1 голос
/ 16 января 2012

Руководство по старинке:

var a = new Date();

// do stuff

var b = new Date();

console.log("stuff took:", b.getTime() - a.getTime());

Если вы используете современный Chrome, вы можете использовать поддержку консоли для этого:

console.time('stuff');

// do stuff

console.timeEnd('stuff');

И он напечатает время для вас.

1 голос
/ 16 января 2012

Создание новых объектов Date в начале каждого метода.Используйте метод getTime(), чтобы получить значение миллисекунд для даты.Вычтите значение start из значения end.В этом разница в миллисекундах.

Я не знаю ни одного общего способа добиться лучшего разрешения, чем разрешение в миллисекундах, в javascript на стороне браузера.

0 голосов
/ 16 января 2012

Самый точный метод, который я могу придумать, - это использовать

setTimeout(function2, offset)
function1();

. В этом случае порядок устанавливается так, чтобы таймер был абсолютным в том смысле, что при его запуске таймер является точкой входа

function1();
setTimeout(function2, offset)

В этом случае начальная точка таймера связана с завершением первой функции.

0 голосов
/ 16 января 2012

Объект Date имеет гранулярность только в миллисекундах, поэтому лучшее, что вы можете сделать, - это.

var Host = {
    start : function() {
        this.time = new DateTime().getTime();
        //method
    },
    stop : function() { 
        this.diff = this.time - new DateTIme().getTime();
        //do stuff
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...