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