Насколько большой должна быть строка, чтобы прервать рендеринг innerHTML? - PullRequest
0 голосов
/ 08 ноября 2011

Я бы хотел знать, сколько будет предел (в байтах), или в какой момент прерывает рендеринг innerHTML элемента DOM через innerHTML = $ string или .append ().

1 МБ, 5 МБ, 10 МБ?

Полагаю, зависит от браузера?

В любом случае, как мне найти этот предел?

РЕДАКТИРОВАТЬ (11/11/11):

Я создаю тест , который итеративно добавляет символ (букву) к innerHTML и подсчитывает, сколько раз jsperf добавил этот символ.

У меня есть следующие результаты в трех браузерах:

Avg. of max letters: | Browser
==================================================
15373                | Chrome 7.0.517.44
29148.5              | Firefox 6.0 
14285.75             | IE 8.0 (running in IE 7 mode) 
10257.75             | IE 8.0

Можно предположить, что максимальное количество букв, которые элемент DOM может получить с помощью innerHTML в запросе ajax, может составлять не более 10 Кб, чтобы не прерывать сам рендер?

Или я совершенно не прав?

1 Ответ

0 голосов
/ 08 ноября 2011

Лучший способ сделать это - профилировать ваш код js.Вы можете написать простой код JS для итеративного рендеринга.

Затем вы можете использовать следующую информацию, чтобы узнать производительность вашего кода -

  • В Chrome - Нажмите Инструменты> Инструменты разработчика> Профиль, чтобы увидеть ваш JS
  • производительность В Firefox - Используйте Firebug> Консоль> Профиль в IE - Открыть
  • Инструменты разработчика (нажмите F12)> Профилировщик

Таким образом, вы узнаете производительность своегокод.И вы можете использовать это в вашем реальном приложении, чтобы найти узкие места.

Тем не менее, тесты производительности и производительности также будут зависеть от конфигурации машины (ЦП, ОС и т. Д.)

...