Пусть у нашего сайта есть три страницы — P1, P2 и P3, поочередно запрашиваемые новым пользователем. P1 использует ресурсы A, B и C, P2 — A, С и D, а P3 — A, С, E и F. Если ресурсы не объединять, получаем следующее:
P1 — тратим время на загрузку A, B и CP2 — тратим время на загрузку только DP3 — тратим время на загрузку E и FЕсли мы слили воедино абсолютно все JavaScript-модули сайта, получаем:
P1 — тратим время на загрузку (A+B+C+D+E+F)P2 — внешние ресурсы не требуютсяP3 — внешние ресурсы не требуютсяРезультатом становится увеличение времени загрузки самой первой страницы, на которую попадает пользователь. При типовых значениях скорости/пинга мы начинаем проигрывать уже при дополнительном объеме загрузки в 23 Кб.
Если мы объединили только модули, необходимые для текущей страницы, получаем следующее:
P1 — тратим время на загрузку (A+B+C)P2 — тратим время на загрузку (A+C+D)P3 — тратим время на загрузку (A+С+E+F)Каждая отдельно взятая страница при пустом кэше будет загружаться быстрее, но все они вместе — медленнее, чем в исходном случае. Получаем, что слепое использование модного сейчас объединения ресурсов часто только ухудшает жизнь пользователя.