Показать сообщение отдельно
  #1 (permalink)  
Старый 22.11.2010, 21:38
Новичок на форуме
Отправить личное сообщение для bmziskin Посмотреть профиль Найти все сообщения от bmziskin
 
Регистрация: 23.10.2009
Сообщений: 2

Профайлинг. jquery.clean() и jquery.after() - почему так долго?
Всем доброго.

Есть проблема низкой производительности моих js на слабых машинах, иногда даже предложения браузера остановить работу скрипта на очень слабых машинах.

У меня есть массив из большого количества данных, на основе которого я генерю таблицу. Генерю "более или менее по умному":

var html;
html += '...' для каждой строки,
потом оборачиваю всё это в один элемент
и делаю $().append(html);

Но когда строк много, то всё равно на слабых машинах наблюдаются проблемы. Начал делать профайлинг.

Многого не понял

Вот что показывают профайлеры:
Firebug:


Chrome:


То, что показывает хромовский профайлер, мягко говоря, не очень информативно.
По профайлеру FB.
Три функции (?)() - это функции, которые в цикле обрабатывают элементы массива. К ним претензий нет.
А вот функции after() и clean() (нативные функции jQuery) отрабатывают по одному разу, но работают дохрена долго.

Подскажите, пожалуйста, как можно улучшить ситуацию или хотя бы в какую сторону копать.
Ответить с цитированием