Стоит ли использовать eval для повышения производительности на мобильном JavaScript?
Чтобы объединить все модули в один ресурс, мы написали каждый модуль в отдельный тег script и спрятали код внутри блока комментариев (/* */). Когда ресурс сначала загружается, ни один из кода не анализируется, поскольку он закомментирован. Чтобы загрузить модуль, найдите элемент DOM для соответствующего тега script, разделите блок комментариев и eval() код....
На устройстве iPhone 2.2 200k JavaScript, хранящийся в блочном комментарии, добавляет 240ms во время загрузки страницы, тогда как 200k JavaScript, который анализируется во время загрузки страницы, добавляет 2600 мс. Это более чем 10-кратное сокращение задержки запуска за счет исключения 200k ненужного JavaScript при загрузке страницы!
http://googlecode.blogspot.co.uk/2009/09/gmail-for-mobile-html5-series-reducing.html
https://developers.google.com/speed/docs/best-practices/mobile
В статье gmail более трех лет и с тех пор появились большие преимущества в мобильной производительности, а именно такие вещи, как iOS Nitro и JIT, приходящие на мобильный. Ожидается ли увеличение производительности от использования eval?
Ответы
Ответ 1
Его не такая же проблема с технологией, как и раньше, поскольку двигатели JavaScript стали настолько результативными. Скорее, есть другие соображения с точки зрения того, чтобы быть более похожими на приложения.
![enter image description here]()
Теперь есть трюки, которые отличаются друг от друга, например, использование веб-работников для запросов ajax для освобождения потока, использование GPU с преобразованиями CSS и requestAnimationFrame или даже asm.js. Использование localStorage/sessionStorage и кэш приложений - это еще один подход в тех строках, где вы можете получить очень много кеширования на стороне клиента, чтобы избежать вызова чего-либо большего, чем содержание JSON/изображений URL-адресов/видеороликов и загрузка/выполнение вещей в память необходимых из этих кешей.
Это другое время, другими словами, и ваш вопрос интересен, но не сосредоточен в правильных областях, чтобы действительно повлиять на производительность веб-приложений.