Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как быстрее вставлять в DOM (https://javascript.ru/forum/jquery/33778-kak-bystree-vstavlyat-v-dom.html)

Shitbox2 07.12.2012 21:06

Как быстрее вставлять в DOM
 
Вариант 1
$('<div/>').appendTo('#container').attr('align','top')

Вариант 2
$('<div/>').attr('align','top').appendTo('#container')

Есть ли значительная разница в скорости? Что-то не нашел тестов. Манипуляции с атрибутами, css-свойствами и проч. не являются же манимуляциями с dom?

Shitbox2 07.12.2012 22:00

Вот блин! Тогда второй способ...

Shitbox2 08.12.2012 00:57

Ничто не мешает, но любое исследование начинается с анализа имеющейся информации) Найти готовое решение намного проще, чем придумывать методологию и тестировать в куче браузеров.

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

tenshi 08.12.2012 22:26

http://jsperf.com/html-insert

Shitbox2 09.12.2012 16:04

Ничего себе! Манипуляции после вставки в 4 раза быстрее вставки тега, включающего параметр. Пожалуй, удалю из избранного все статьи по оптимизации jQuery...

tenshi 09.12.2012 16:35

я там накосячил в тесте. и благодаря классной архитектуре jq ошибка прошла не замеченной. $('#container') возвращало пустое множество узлов, после чего никаких добавлений не происходило.

http://jsperf.com/html-insert/2 вот правильный тест

Shitbox2 09.12.2012 17:29

Тогда никакой разницы нет. Печально, конечно, что jQuery на порядок медленнее. Придется в узких местах чистый js использовать


Часовой пояс GMT +3, время: 03:35.