скорость JavaScript - PullRequest
       7

скорость JavaScript

1 голос
/ 30 июня 2011

В средней системе, скажем,

Processor: Core 2 Duo 2.2 GHz, Memory: 4 GB

Сколько DOM-манипуляций может сделать javascript?Есть ли способ узнать, сколько времени (в миллисекундах) занимает простое действие jQuery?Например, такой как:

$("#example").css("color","red");

Ответы [ 3 ]

3 голосов
/ 30 июня 2011

Процесс принятия этих определений называется «профилирование». Вы можете найти профилировщики, встроенные в Chrome Developer Tools и Firebug для Firefox.

3 голосов
/ 30 июня 2011

Если ваш браузер поддерживает это, вы можете использовать console.profile(); до звонка (ей) и console.profileEnd(); после. Ваша консоль должна показывать вывод, сколько времени это заняло, количество звонков и т. Д.

console.profile();
$("#example").css("color","red");
console.profileEnd();

Nettuts + имеет учебник здесь .

1 голос
/ 30 июня 2011
var start = Date.now();

for(var i = 0; i < 10000; i++) { // any number of repetitions
    $("#example").css("color", "red");
}

var end = Date.now();
alert("It took " + Math.round((end - start) / 10000).toString() + " milliseconds on average.");

- это то, как вы рассчитываете это.Я не знаю о действиях DOM.Вы можете заглянуть в источник sizzle.js, чтобы точно узнать, что он делает, хотя я знаю, что он оптимизирует выбор идентификаторов, а затем это зависит от браузера.Возможно, они пересекают дерево по порядку, пока не найдут соответствующий идентификатор.Это было бы довольно быстро.

...