10.08.2016, 12:12
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
Сообщение от warren buffet
|
С таблицей с миллионом строк может стать заметной разница, но где оппонент такие таблицы-то видел на вебе и кто вообще такими сможет оперировать?
|
На 3 тысячах разница уже ощутима при не самом мощном ноуте 8-летней давности. И я не ваш оппонент. Чтобы вам оппонировать нужны от вас какие-то аргументы, отличающиеся от "делай как все, нигилист, а не через жопу".
Цитата:
|
Но тут важен не выбор метода, а смысл темы. ТС просто не знал про инсерты и применил известный ему метод как просто известный и освоенный, а вовсе не с явным умыслом ускорить там чего-то блин.
|
Это другое дело, но аргументы в пользу того или иного метода все равно нужны, чтобы человек делал сознательный выбор, а не потому что кто-то, тщащийся показаться авторитетным, ему это сказал.
Цитата:
|
Кстати, инсерт работает с таблицей, а для аппенда нужно еще tbody создать явно или явно получить.
|
Какой кошмар, это ж неделю кодить придется!
|
|
10.08.2016, 12:15
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
рони,
Милый друг, я 2 недели назад первый раз открыл первую книжку по javascript, но даже мне не приходит в голову создавать в цикле TD
var cell= document.createElement('td');
когда есть cloneNode
Будьте любезны, посмотрите мой код. И учитесь пока я еще не стал мега гуру и не покинул вас, как безнадежных.
|
|
10.08.2016, 12:21
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Сообщение от renatdmit
|
ячейки просто копируются из любой строки
|
Ну если тебе нужна пустая таблица на 1000 строк, то просто нарисуй хтмл в переменной и вставь как innerHTML в body и замерь что быстрее, лал.
|
|
10.08.2016, 12:23
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
warren buffet,
Уважаемый профессор, посмотрите пожалуйста мой код, я заполняю его данными для чистоты эксперимента.
|
|
10.08.2016, 12:27
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
renatdmit,
спасибо, а тест можно что быстрее cloneNode или createElement?
|
|
10.08.2016, 12:28
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Сообщение от renatdmit
|
при не самом мощном ноуте 8-летней давности.
|
Вот в чем проблема, денег на новый ноут нету, и будем заниматься premature optimization.
|
|
10.08.2016, 12:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
warren buffet,
renatdmit,
|
|
10.08.2016, 12:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
renatdmit,
warren buffet,
|
|
10.08.2016, 12:33
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Сообщение от renatdmit
|
я заполняю его данными
|
Вот такими да? - row.insertCell().innerHTML = i;
У тебя же нет никакого хтмля в i, там просто число, то есть тут вообще-то .textContent, но, у тебя же нет текстовой ноды, поэтому ты рисуешь .innerHTML, а это значит проворачиваешь для каждой ячейки могучий парсер браузера. Поэтому твой ноут и тормозит как из пушки по воробьям.
Нарисуй массив и сделай из него таблицу своими аппендами.
|
|
10.08.2016, 12:48
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
рони,
Сообщение от рони
|
renatdmit,
спасибо, а тест можно что быстрее cloneNode или createElement?
|
В вашем случае вынужден извиниться. AppendChild в цикле работает даже чуть быстрей чем cloneNode, разница процентов в 10. Тормозной только InsertRows.
Последний раз редактировалось renatdmit, 10.08.2016 в 12:51.
|
|
|
|