У меня есть приложение с кучей ресурсов. Прочитав о загрузчиках javascript, я решил посмотреть, какой прирост я получу от асинхронной загрузки ресурсов. К моему удивлению, я обнаружил, что использование загрузчика было заметно медленнее (секундомер не требовался). Это заставило меня задуматься, были ли у других аналогичные результаты и что разработчик должен учитывать в отношении того, когда использовать или не использовать загрузчик ресурсов javascript.
Вот некоторые подробности о моих тестах:
- На данный момент есть 60 ресурсов (в основном скрипты)
- Из-за иерархии зависимостей скрипты приходилось загружать примерно 8 пакетами.
- В основном использовался Firefox (но пробовал и в Chrome)
- Запустил тесты как на Ubunutu, так и на Windows
- Использование загрузчика (в моем случае YepNope) добавляет немного накладных расходов.
- Я написал небольшой класс загрузчика, чтобы упростить взаимодействие с YepNope.
- Исходный код находится на github (запустите тесты.html и тесты-загрузчик.html)
Когда я говорю «медленнее», я не говорю, что это ужасно медленно. Просто мне пришлось потратить некоторое время, чтобы настроить это, и результаты были хуже, чем до того, как я начал.
60 ресурсов мало для использования загрузчика? Должны ли ресурсы вообще быть огромными или они могут быть кучей маленьких файлов? Какие вещи заставят загрузчик работать медленнее, чем при использовании традиционных тегов скрипта?