Это предварительная версия для публичного тестирования. Обратите внимание, что автоматическое обновление отключено. Если вы хотите проверить эту сборку, просто скачайте инсталлятор и установите новую версию.
Что такое 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
Обновления программ, что нового
• Apple выпустила четвёртые бета-версии iOS 26.1, iPadOS 26.1, macOS Tahoe 26.1 для разработчиков
• Samsung Galaxy A73 получил последнее крупное обновление Android
• iQOO 15 представлен в Китае: Snapdragon 8 Elite Gen 5, дисплей 2K и аккумулятор 7 000 мА·ч
• Google объявил о закрытии многих технологий Privacy Sandbox
• Упал Amazon Web Services (AWS): сбой затронул Steam, Epic Games Store, Fortnite, Perplexity и десятки других сервисов по всему миру
• Redmi K90 Pro Max получит дисплей Xiaomi 17 Pro Max и первый 5-кратный телеобъектив