Opera 44 Developer - улучшенная производительность благодаря PGO

2016-12-16 | Автор | комментарии
В Opera Software долгое время работали над улучшением быстродействия Windows версии браузера Opera за счет реализации техники под названием PGO или Profile-guided optimization. Теперь настало время оценить первые результаты

Скачать Opera 44 Developer

Это предварительная версия для публичного тестирования. Обратите внимание, что автоматическое обновление отключено. Если вы хотите проверить эту сборку, просто скачайте инсталлятор и установите новую версию.

Opera 44 Developer - улучшенная производительность благодаря PGO

Что такое PGO?

Основная часть исходного кода Opera написана на C++, а значит компилятор C++ выполняет преобразование кода C++ в машинный код, который понимает компьютер. К сожалению, нет возможности оптимизировать весь код для максимальной производительности, потому что это приведет к огромному размеру программы, поэтому важно найти баланс между скорость работы и размером приложения.

С помощью технологии Profile-guided optimization можно выполнить эту задачу эффективнее. За счет выбора только важных, часто выполняемых сценариев, компилятор можно обучить, какой код является основным, а какой код менее важен. Например, код, отвечающий за обработку ошибок или за использование редких функций, не обязательно должен исполняться очень быстро, поэтому его можно сделать компактным, но в то же время эффективным. Аналогично касается участков кода, связанных с взаимодействием с пользователем. Для человека неважно, будет ли клик обрабатываться 2 миллисекунды или 1 миллисекунду, он просто не заметит такую разницу.

Тестовая среда

Тестирование выполнялось на компьютере под управлением Windows 7 x64 с процессором Intel i7-6700, работающим на частоте 3.4 Ггц. Браузер был установлен на SSD диске. В испытании принимали участие 64-битные версии Opera 43.0.2440.0 с реализованным PGO и без PGO.

Результаты

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

Время загрузки

Время загрузки браузера сократилось на 13 процентов на тестовом компьютере (SSD и большой объем памяти исключают использование файла подкачки).

Скорость обработки страниц

Тест Speedometer выполнялся на 5 процентов быстрее с активным PGO.

Скорость обработки страниц

Производительность JavaScript

Так как JavaScript не компилируется компилятором C++, серьезного изменения производительности здесь не ожидалось.

Тест Sunspider выполнялся на 2,4 процента быстрее с PGO.

Тест Octaine выполнялся на 1 процент быстрее с PGO.

Перспективы

Работа по оптимизации будет продолжена для получения более высоких результатов. Основная цель - добиться максимального улучшения производительности, а значит еще есть куда стремиться.

Скачать Opera 44 Developer

Перевод Comss.ru. По материалам Opera Software

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества