Читать «Разгони свой сайт» онлайн - страница 25

Николай Мациевский

Ниже приводится сравнение времени загрузки различных вариантов уменьшения jQuery.

Вариант

Среднее время

Уменьшенный

519.7214

Упакованный

591.6636

Нормальный

645.4818

Таблица 2.1. Время загрузки библиотеки jQuery, которая была подвергнута различным уменьшениям

Очевидно, что при использовании любой техники сжатия стоит помнить о такой формуле:

Время_загрузки = Время_на_скачивание + Время_на_исполнение

Именно поэтому упакованный вариант, будучи наименьшим по размеру, может проигрывать в производительности другим, менее экстремальным способам представления информации.

Подводя итог всем вышеприведенным выкладкам, можно сделать следующее заключение. Если использовать gzip-сжатие для текстовых файлов, то наилучшим выбором будет применение YUI Compressor для дополнительной минимизации CSS- и JavaScript-файлов. Результирующий файл будет в среднем самым маленьким из возможных вариантов сжатия и будет загружаться в браузере максимально быстро.

Производительность загрузки JavaScript-библиотек

Из этого исследования можно еще получить данные по влиянию производительности различных JavaScript-библиотек на загрузку страницы. Таким образом, более простая и меньшая по размеру библиотека будет загружаться быстрее аналогов. По результатам видно, что jQuery загружается достаточно быстро относительно других библиотек (200–400 мс — существенный выигрыш в скорости). Ниже приведено среднее время загрузки неархивированных и неуменьшенных версий библиотек не из кэша.

Инструментарий

Среднее время

jquery-1.2.1

732.1935

dojo-1.0.1

911.3255

prototype-1.6.0

923.7074

yahoo-utilities-2.4.0

927.4604

protoculous-1.0.2

1136.5497

Таблица 2.2. Время загрузки различных библиотек (не модифицированные версии, без учета кэширования)

Сейчас, конечно, можно возразить, что нечестно тестировать загрузку только некэшированных страниц, ибо, согласно исследованиям Yahoo по кэшированию, примерно 50% посетителей не будут иметь возможности кэшировать содержание страницы. Поэтому важно убедиться, что не только первоначальная, но и кэшированная версия страницы также загружается максимально быстро. Итак, ниже приведены цифры для загрузки архивированных и уменьшенных версий из кэша

Инструментарий

Среднее время

yahoo-utilities-2.4.0

122.7867

Jquery-1.2.1

131.1841

prototype-1.6.0

142.7332

dojo-1.0.1

171.2600

protoculous-1.0.2

276.1929

Таблица 2.3. Время загрузки различных библиотек (модифицированные версии, с учетом кэширования)

Если принять во внимание кэшированную версию, то разница становится уже не столь очевидна (всего 10-30 мс — за исключением Dojo/Scriptaculous). Более того, при загрузке из кэша все издержки приходятся на инициализацию библиотек — именно поэтому так важно знать и использовать принципы создания быстрых JavaScript-приложений. Об этом подробнее рассказывается в седьмой главе.

Но давайте на этом закончим со сжатием текстовых файлов и перейдем к более интересным случаям — уменьшению в размере различных форматов изображений.