Подтвердить что ты не робот

Как получить вывод из console.timeEnd() в консоли JS?

Я хотел бы получить строку, возвращенную с console.timeEnd('t') в моей Javascript-консоли Google Chrome.

В этом примере ниже я бы хотел, чтобы одна переменная содержала "t: 0.276ms"

> console.time('t'); console.timeEnd('t');
  t: 0.276ms
< undefined

Это что-то выполнимое?

4b9b3361

Ответ 1

В Google Chrome 23.0.1262.2 (Official Build 155904) dev это похоже на невозможное. Единственный способ, с помощью которого я смог вычислить время с точностью, - это использовать window.performance.webkitNow()

Вот простой пример:

var start = window.performance.now();
...
var end = window.performance.now();
var time = end - start;

Подробнее на http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now

Ответ 2

просто вы можете использовать

var begin=Date.now();
something here ...;
var end= Date.now();

var timeSpent=(end-begin)/1000+"secs";

это самый простой способ, и он будет работать на любом браузере не только на хроме.

Ответ 3

Маленький помощник, чтобы сделать некоторое время. timerEnd возвращает время в мс, также объект timers содержит информацию о том, сколько раз использовался таймер с этим именем, сумма всех измеренных времен и среднее значение измерений. Я нахожу это весьма полезным, так как измеренное время операции зависит от многих факторов, поэтому лучше всего измерить его несколько раз и посмотреть на среднее значение.

var timers = {};
function timer(name) {
    timers[name + '_start'] = window.performance.now();
}

function timerEnd(name) {
    if (!timers[name + '_start']) return undefined;
    var time = window.performance.now() - timers[name + '_start'];
    var amount = timers[name + '_amount'] = timers[name + '_amount'] ? timers[name + '_amount'] + 1 : 1;
    var sum = timers[name + '_sum'] = timers[name + '_sum'] ? timers[name + '_sum'] + time : time;
    timers[name + '_avg'] = sum / amount;
    delete timers[name + '_start'];
    return time;
}

Ответ 4

Функция console.timeEnd() помещает время в консоль и возвращает значение поэтому вы можете сохранить его в переменной

var c = console.timeEnd('a');
c/1000+'s';

или вы можете сохранить эту переменную в объекте окна для последнего использования

window.c = console.timeEnd('b');
window.c