Это предварительная версия для публичного тестирования. Обратите внимание, что автоматическое обновление отключено. Если вы хотите проверить эту сборку, просто скачайте инсталлятор и установите новую версию.
Что такое 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
Обновления программ, что нового
• Firefox 139 Beta: повышена производительность загрузки по HTTP/3, улучшены перевод страниц и поддержка PNG
• Обновление NVIDIA GeForce Game Ready 576.28 WHQL. Исправления для RTX 50 и улучшения стабильности работы игр
• Новые функции «Алисы» и «Яндекс Станций» за апрель 2025 года
• Релиз Chrome 136: Обновления безопасности и исправление уязвимости, которая существовала более 20 лет
• Обновление до Windows 11, версия 24H2 блокируется на старых версиях Windows 11 из-за бага в службе WSUS
• Обновление Intel Bluetooth Drivers 23.130.0 для Windows 11 и Windows 10: функциональные улучшения