Исследователи из Массачусетского технологического института (MIT) разработали алгоритм, позволяющий существенно уменьшить время загрузки страниц в интернете. Этот способ может быть особенно полезен для тяжелых и сложных веб-сайтов, а также при загрузке интернет-страниц с мобильного телефона.

По словам исследователей, алгоритм, получивший название Polaris, сокращает время загрузки страниц в среднем на 34%. Это может быть чрезвычайно полезным не только для пользователей, но и для компаний. К примеру, в Amazon ранее подсчитали, что увеличение времени загрузки их сайта на 100 миллисекунд стоит компании 1% прибыли.

Polaris оптимизирует процесс загрузки сайта. При открытии страниц браузер обращается к множеству объектов, составляющих эту страницу: HTML-файлы, java-скрипты, картинки и так далее. При этом многие из загружаемых объектов в свою очередь обращаются к другим зависимым объектам, которые браузеру также нужно загружать. Это создает длинные цепочки зависимых объектов, которые браузеру приходится проходить целиком, чтобы полностью загрузить веб-сайт.

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

Авторы исследования сравнивают этот процесс с простым примером из жизни. Представьте, что вы приезжаете на встречу в некий город, но после проведения встречи узнаете, что вам необходимо посетить еще несколько городов. И в некоторых из следующих населенных пунктов вы также узнаете, что вам надо съездить куда-то еще. В результате ваша поездка будет проходить через большое количество городов по очень сложному маршруту. Однако если бы вы сразу знали, какие именно города вам предстоит посетить, то маршрут можно было бы оптимизировать, сократив расстояние и время поездки.

Именно оптимизацией пути (своеобразной логистикой) и занимается алгоритм Polaris. Он анализирует все цепочки зависимых объектов, которые браузеру будет необходимо пройти при загрузке веб-сайта, и строит виртуальный маршрут, существенно сокращающий итоговое время открытия страницы.

Алгоритм уже прошел тестирование на 200 наиболее популярных сайтах в англоязычном сегменте интернета и показал свою эффективность. По словам авторов технологии, их подход существенно отличается то того, которому следуют современные браузеры, пытаясь сократить время загрузки страниц. "Вместо того, чтобы уменьшать объем передаваемой информации, мы считаем, что нужно снижать время сетевых задержек. Это приводит к более значительному ускорению загрузки страниц", — рассказал один из авторов разработки профессор Хари Балакришнан (Hari Balakrishnan).