Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Document Object Model

innerHTML Versus DOM

Погодим Пока "Рули" Рисовать...

> Дорогой Маньяк, уверяю тебя что таки Да. Причем на несколько порядков под IE и в разы под Mozilla. Составь простой тест и запусти его на своей машине.

Я Так И Сделал.
Вот Текст Теста:
http://Jim.PP.Ru/maniac/Test.htm
Для Тех, Кто Поленится Полезть В Исходник, Скажу: Там Две Функции. Одна 1000 Раз Подряд Вызывает Создание 3 Вложенных Div'ов innerHTML'ом, Друга - То Же Самое DOM-Функциями createElement.
Функции Запускались Под Mozill'ой, Три Раза Подряд, Каждая В Только Что Загруженном Документе.
Вот Результаты:
http://Jim.PP.Ru/maniac/InnerHTML.htm
http://Jim.PP.Ru/maniac/DOM.htm
Для Тех, Кому Опять Лень Смотреть, Скажу, Что InnerHTML Справился С Задачей В Среднем За 1,516(с), А DOM - За 0,913(с).

Очень Извиняюсь, Что Не Сделал Тесты Под IE. Как-То В Голове Сразу Не Возник Способ Подсчитать Время Выполнения Функции (Торможу Сегодня :-( ), А У Mozill'ы Есть Такой Замечательный Профайлер...

Однако, _На Глаз_ Ощущение Такое, Что DOM'овская Кнопочка И Там Отжимается Намного Быстрее. Каждый Может Сам Попробовать...

> Обдумывая результаты, вспомни о сравнительной стоимости вызовов "скрипт-ядро" и "ядро-ядро".

Твое Предположение Имеет Право На Существование. Однако В Случае Mozill'ы JavaScript При Загрузке Страницы Компилируется Во Что-То Внутреннее И Эффективное, И Все Эти Вызовы Идут Из Одного Компонента Ядра К Другому Через XPConnect. Так Что, Разница-То Невелика. Но Это Все Касаемо Mozilla... Однако, Вот, И IE, Видимо, Примерно Также "Любит" Низкоуровневые Вызовы Больше, Чем Wrap'ерные.
СообщениеАвторДата
Иван04.07.2002 14:40
гоша04.07.2002 23:27
Maniac05.07.2002 10:17
Gilmour05.07.2002 21:26
Shadowkin16.09.2002 14:18
гоша05.07.2002 16:29
Maniac05.07.2002 17:45
гоша05.07.2002 18:39
Гость12.09.2002 20:19
Maniac08.07.2002 09:50
Leechy05.07.2002 19:20
гоша08.07.2002 12:30
Leechy05.07.2002 00:04
Leechy04.07.2002 15:15
Maniac04.07.2002 14:55
Иван04.07.2002 15:10