Konsola przeglądarki i obliczanie wielu różnic czasu wykonania javascript
Mogę to łatwo zrobić:
console.time('mytimer');
doSomeWork();
console.timeEnd('mytimer');
Ale czy można obliczyć czas w wielu funkcjach. Muszę zdefiniować czas rozpoczęcia skryptu w zmiennej globalnej. Wtedy w wielu funkcjach napiszę ile milisekund minęło od początku czasu. I napisz nazwę funkcji Coś takiego:
console.time('mytimer');
doSomeWork() {
// console.log(difference between now and "mytimer"s start time)
// console.log(name of the function: doSomeWork())
};
doSomeWork2() {
// console.log(difference between now and "mytimer"s start time)
// console.log(name of the function: doSomeWork2())
};
doSomeWork3() {
// console.log(difference between now and "mytimer"s start time)
// console.log(name of the function: doSomeWork3())
};
console.timeEnd('mytimer');
Użyję tego w Chrome 26+ do rozwiązywania problemów, więc używanie funkcji zależnych od przeglądarki (na przykład: arguments.callee.name) nie stanowi problemu.
Edytuj: Aby usunąć mój problem.
To działa:
console.time('myTimer1');
console.timeEnd('myTimer1');
To nie działa:
console.time('myTimer2');
console.time('myTimer2');
Edycja: Oczywiście można napisać zbyt wiele zegarów i sprawdzić czas każdego z nich. Ale muszę wiedzieć, ile czasu upłynęło od momentu uruchomienia kodu javascript na każdym okrążeniu.