Это предварительная версия для публичного тестирования. Обратите внимание, что автоматическое обновление отключено. Если вы хотите проверить эту сборку, просто скачайте инсталлятор и установите новую версию.
Что такое 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.
Перспективы
Работа по оптимизации будет продолжена для получения более высоких результатов. Основная цель - добиться максимального улучшения производительности, а значит еще есть куда стремиться.
Перевод Comss.ru. По материалам Opera Software
Обновления программ, что нового
• Обновление Intel ARC Game On Driver 32.0.101.6253 Non-WHQL: Исправления для Intel Arc B-серии «Battlemage»
• OpenAI представила новые ИИ-модели o3 и o3-mini с возможностью «рассуждения»
• Samsung Display Assistant: Расширенное управление экраном Galaxy S24
• Обновление Intel Graphics Drivers (legacy) 31.0.101.2134 WHQL для процессоров Intel 7-10 поколения
• OpenAI анонсировала возможность позвонить ChatGPT
• Google выпускает Gemini 2.0 Flash Thinking Experimental — свою первую ИИ-модель с возможностью «рассуждения»