Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Virtual DOM ( ReactJS )
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, https://gist.github.com/localvoid/5e2b74879cab11b15a10 На кэйсе, который вы тестируете, наиболее продвинутые реализации с виртуальным домом будут работать так как в моей реализации. И на моём Nexus'е innerHTML значительно проигрывает в скорости. В реальном же приложении при использовании innerHTML нужны будут дополнительные проверки для защиты от xss итп, а в случае с виртуальным домом добавляются ещё более продвинутые техники для оптимизации, вроде recycling'а дом нодов итд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 17:07 |
|
||
|
Virtual DOM ( ReactJS )
|
|||
|---|---|---|---|
|
#18+
localvoidбухалтер фантоцци, https://gist.github.com/localvoid/5e2b74879cab11b15a10 На кэйсе, который вы тестируете, наиболее продвинутые реализации с виртуальным домом будут работать так как в моей реализации. И на моём Nexus'е innerHTML значительно проигрывает в скорости. В реальном же приложении при использовании innerHTML нужны будут дополнительные проверки для защиты от xss итп, а в случае с виртуальным домом добавляются ещё более продвинутые техники для оптимизации, вроде recycling'а дом нодов итд. А теперь подкорректируем Ваш тест на более реальный 1. неплохо было-бы ещё очищать родительский элемент, для этого я добавил кнопку Clear - чтобы не перезагружать страницу. 2. содержимое каждого создаваемого элемента рандомное, чтобы небыло фокусов типа: Код: javascript 1. 2. 3. 4. 5. 6. 7. 3. window.performance.now() - я заменил на new Date() , чтобы и в старых браузерах работало. Надеюсь нет возражений по правкам? ============================================ Результаты по измеряемым таймингам: - Chrome - скорость .innerHTML и DOM примерно одинакова (если заполнять чистый блок) или в 4 раза в пользу DOM, когда DOM продолжает добавление. - FireFox - скорость .innerHTML и DOM примерно одинакова (если заполнять чистый блок) или в 3,5 раза в пользу DOM, когда DOM продолжает добавление. - IE11 - скорость .innerHTML выше в 8-10 раз при любом типе заполнения. - Opera 12 - скорость .innerHTML выше в 1.5 раза, чем DOM (если заполнять чистый блок) или одинакова, когда DOM продолжает добавление. Результаты по отображению изменений на планшете и SmartTV : .innerHTML рвёт DOM по скорости отображения (рендерингу) после заполнения блока дочерними элементами, чем больше создаётся html-элементов, тем более видна разница, которая достигает 10 и более раз. но тайминги показывают более высокую скорость DOM, ага... вот этот тест ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 18:12 |
|
||
|
Virtual DOM ( ReactJS )
|
|||
|---|---|---|---|
|
#18+
P.S. я могу исправить в тесте количество создаваемых элементов, вместо 3000 сделать 5000 или 10000 - тогда на мобильных сразу видна разница в скорости, и она очень сильно растёт при росте количества создаваемых элементов. localvoidв любой ситуации будет значительно медленнее во всех браузерах кроме старых IE. Мне кажется, Вы вводите нас в заблуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=22&startmsg=39194690&tid=1445366]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 258ms |

| 0 / 0 |
